From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH 29/88] drm/amdgpu: add amdgpu uapi header (v4) Date: Tue, 26 May 2015 23:19:31 -0400 Message-ID: <1432696827-3752-2-git-send-email-alexander.deucher@amd.com> References: <1432696827-3752-1-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-qk0-f182.google.com (mail-qk0-f182.google.com [209.85.220.182]) by gabe.freedesktop.org (Postfix) with ESMTP id 2005A6E026 for ; Tue, 26 May 2015 20:20:37 -0700 (PDT) Received: by qkdn188 with SMTP id n188so105305944qkd.2 for ; Tue, 26 May 2015 20:20:36 -0700 (PDT) In-Reply-To: <1432696827-3752-1-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: dri-devel@lists.freedesktop.org Cc: Alex Deucher List-Id: dri-devel@lists.freedesktop.org VGhpcyBoZWFkZXIgZGVmaW5lcyB0aGUgaW9jdGwgaW50ZXJmYWNlIHRvIHRoZSBkcml2ZXIuCgp2 MjogcmVtb3ZlIHN0YWxlIHRpbGluZyBkZWZpbmVzCnYzOiBhZGQgYXBwcm9wcmlhdGUgcGFkZGlu Zwp2NDogcmVtb3ZlIGV4ZWN1dGFibGUgYml0cyBvbiBoZWFkZXIKCkFja2VkLWJ5OiBDaHJpc3Rp YW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+CkFja2VkLWJ5OiBKYW1teSBaaG91 IDxKYW1teS5aaG91QGFtZC5jb20+ClNpZ25lZC1vZmYtYnk6IEFsZXggRGV1Y2hlciA8YWxleGFu ZGVyLmRldWNoZXJAYW1kLmNvbT4KLS0tCiBpbmNsdWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0uaCB8 IDU5MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBj aGFuZ2VkLCA1OTAgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvdWFw aS9kcm0vYW1kZ3B1X2RybS5oCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9hbWRncHVf ZHJtLmggYi9pbmNsdWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0uaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi45ZTc3MWZiCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS91YXBp L2RybS9hbWRncHVfZHJtLmgKQEAgLTAsMCArMSw1OTAgQEAKKy8qIGFtZGdwdV9kcm0uaCAtLSBQ dWJsaWMgaGVhZGVyIGZvciB0aGUgYW1kZ3B1IGRyaXZlciAtKi0gbGludXgtYyAtKi0KKyAqCisg KiBDb3B5cmlnaHQgMjAwMCBQcmVjaXNpb24gSW5zaWdodCwgSW5jLiwgQ2VkYXIgUGFyaywgVGV4 YXMuCisgKiBDb3B5cmlnaHQgMjAwMCBWQSBMaW51eCBTeXN0ZW1zLCBJbmMuLCBGcmVtb250LCBD YWxpZm9ybmlhLgorICogQ29weXJpZ2h0IDIwMDIgVHVuZ3N0ZW4gR3JhcGhpY3MsIEluYy4sIENl ZGFyIFBhcmssIFRleGFzLgorICogQ29weXJpZ2h0IDIwMTQgQWR2YW5jZWQgTWljcm8gRGV2aWNl cywgSW5jLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hh cmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUg YW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICog dG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdp dGhvdXQgbGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVy Z2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBjb3Bp ZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAq IFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5n IGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMg cGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KKyAqIGFsbCBjb3BpZXMgb3Ig c3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FS RSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBS RVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJS QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAorICogVEhFIENP UFlSSUdIVCBIT0xERVIoUykgT1IgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBE QU1BR0VTIE9SCisgKiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP TlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwKKyAqIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElO IENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUgorICogT1RIRVIgREVB TElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIEF1dGhvcnM6CisgKiAgICBLZXZpbiBFLiBN YXJ0aW4gPG1hcnRpbkB2YWxpbnV4LmNvbT4KKyAqICAgIEdhcmV0aCBIdWdoZXMgPGdhcmV0aEB2 YWxpbnV4LmNvbT4KKyAqICAgIEtlaXRoIFdoaXR3ZWxsIDxrZWl0aEB0dW5nc3RlbmdyYXBoaWNz LmNvbT4KKyAqLworCisjaWZuZGVmIF9fQU1ER1BVX0RSTV9IX18KKyNkZWZpbmUgX19BTURHUFVf RFJNX0hfXworCisjaW5jbHVkZSA8ZHJtL2RybS5oPgorCisjZGVmaW5lIERSTV9BTURHUFVfR0VN X0NSRUFURQkJMHgwMAorI2RlZmluZSBEUk1fQU1ER1BVX0dFTV9NTUFQCQkweDAxCisjZGVmaW5l IERSTV9BTURHUFVfQ1RYCQkJMHgwMgorI2RlZmluZSBEUk1fQU1ER1BVX0JPX0xJU1QJCTB4MDMK KyNkZWZpbmUgRFJNX0FNREdQVV9DUwkJCTB4MDQKKyNkZWZpbmUgRFJNX0FNREdQVV9JTkZPCQkJ MHgwNQorI2RlZmluZSBEUk1fQU1ER1BVX0dFTV9NRVRBREFUQQkJMHgwNgorI2RlZmluZSBEUk1f QU1ER1BVX0dFTV9XQUlUX0lETEUJMHgwNworI2RlZmluZSBEUk1fQU1ER1BVX0dFTV9WQQkJMHgw OAorI2RlZmluZSBEUk1fQU1ER1BVX1dBSVRfQ1MJCTB4MDkKKyNkZWZpbmUgRFJNX0FNREdQVV9H RU1fT1AJCTB4MTAKKyNkZWZpbmUgRFJNX0FNREdQVV9HRU1fVVNFUlBUUgkJMHgxMQorCisjZGVm aW5lIERSTV9JT0NUTF9BTURHUFVfR0VNX0NSRUFURQlEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNF ICsgRFJNX0FNREdQVV9HRU1fQ1JFQVRFLCB1bmlvbiBkcm1fYW1kZ3B1X2dlbV9jcmVhdGUpCisj ZGVmaW5lIERSTV9JT0NUTF9BTURHUFVfR0VNX01NQVAJRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFT RSArIERSTV9BTURHUFVfR0VNX01NQVAsIHVuaW9uIGRybV9hbWRncHVfZ2VtX21tYXApCisjZGVm aW5lIERSTV9JT0NUTF9BTURHUFVfQ1RYCQlEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJN X0FNREdQVV9DVFgsIHVuaW9uIGRybV9hbWRncHVfY3R4KQorI2RlZmluZSBEUk1fSU9DVExfQU1E R1BVX0JPX0xJU1QJRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9BTURHUFVfQk9fTElT VCwgdW5pb24gZHJtX2FtZGdwdV9ib19saXN0KQorI2RlZmluZSBEUk1fSU9DVExfQU1ER1BVX0NT CQlEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0FNREdQVV9DUywgdW5pb24gZHJtX2Ft ZGdwdV9jcykKKyNkZWZpbmUgRFJNX0lPQ1RMX0FNREdQVV9JTkZPCQlEUk1fSU9XKERSTV9DT01N QU5EX0JBU0UgKyBEUk1fQU1ER1BVX0lORk8sIHN0cnVjdCBkcm1fYW1kZ3B1X2luZm8pCisjZGVm aW5lIERSTV9JT0NUTF9BTURHUFVfR0VNX01FVEFEQVRBCURSTV9JT1dSKERSTV9DT01NQU5EX0JB U0UgKyBEUk1fQU1ER1BVX0dFTV9NRVRBREFUQSwgc3RydWN0IGRybV9hbWRncHVfZ2VtX21ldGFk YXRhKQorI2RlZmluZSBEUk1fSU9DVExfQU1ER1BVX0dFTV9XQUlUX0lETEUJRFJNX0lPV1IoRFJN X0NPTU1BTkRfQkFTRSArIERSTV9BTURHUFVfR0VNX1dBSVRfSURMRSwgdW5pb24gZHJtX2FtZGdw dV9nZW1fd2FpdF9pZGxlKQorI2RlZmluZSBEUk1fSU9DVExfQU1ER1BVX0dFTV9WQQkJRFJNX0lP V1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9BTURHUFVfR0VNX1ZBLCB1bmlvbiBkcm1fYW1kZ3B1 X2dlbV92YSkKKyNkZWZpbmUgRFJNX0lPQ1RMX0FNREdQVV9XQUlUX0NTCURSTV9JT1dSKERSTV9D T01NQU5EX0JBU0UgKyBEUk1fQU1ER1BVX1dBSVRfQ1MsIHVuaW9uIGRybV9hbWRncHVfd2FpdF9j cykKKyNkZWZpbmUgRFJNX0lPQ1RMX0FNREdQVV9HRU1fT1AJCURSTV9JT1dSKERSTV9DT01NQU5E X0JBU0UgKyBEUk1fQU1ER1BVX0dFTV9PUCwgc3RydWN0IGRybV9hbWRncHVfZ2VtX29wKQorI2Rl ZmluZSBEUk1fSU9DVExfQU1ER1BVX0dFTV9VU0VSUFRSCURSTV9JT1dSKERSTV9DT01NQU5EX0JB U0UgKyBEUk1fQU1ER1BVX0dFTV9VU0VSUFRSLCBzdHJ1Y3QgZHJtX2FtZGdwdV9nZW1fdXNlcnB0 cikKKworI2RlZmluZSBBTURHUFVfR0VNX0RPTUFJTl9DUFUJCTB4MQorI2RlZmluZSBBTURHUFVf R0VNX0RPTUFJTl9HVFQJCTB4MgorI2RlZmluZSBBTURHUFVfR0VNX0RPTUFJTl9WUkFNCQkweDQK KyNkZWZpbmUgQU1ER1BVX0dFTV9ET01BSU5fR0RTCQkweDgKKyNkZWZpbmUgQU1ER1BVX0dFTV9E T01BSU5fR1dTCQkweDEwCisjZGVmaW5lIEFNREdQVV9HRU1fRE9NQUlOX09BCQkweDIwCisKKyNk ZWZpbmUgQU1ER1BVX0dFTV9ET01BSU5fTUFTSwkJMHgzRgorCisvKiBGbGFnIHRoYXQgQ1BVIGFj Y2VzcyB3aWxsIGJlIHJlcXVpcmVkIGZvciB0aGUgY2FzZSBvZiBWUkFNIGRvbWFpbiAqLworI2Rl ZmluZSBBTURHUFVfR0VNX0NSRUFURV9DUFVfQUNDRVNTX1JFUVVJUkVECSgxIDw8IDApCisvKiBG bGFnIHRoYXQgQ1BVIGFjY2VzcyB3aWxsIG5vdCB3b3JrLCB0aGlzIFZSQU0gZG9tYWluIGlzIGlu dmlzaWJsZSAqLworI2RlZmluZSBBTURHUFVfR0VNX0NSRUFURV9OT19DUFVfQUNDRVNTCQkoMSA8 PCAxKQorLyogRmxhZyB0aGF0IHVuLWNhY2hlZCBhdHRyaWJ1dGVzIHNob3VsZCBiZSB1c2VkIGZv ciBHVFQgKi8KKyNkZWZpbmUgQU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0dUVF9VQwkJKDEgPDwgMikK Ky8qIEZsYWcgdGhhdCBVU1dDIGF0dHJpYnV0ZXMgc2hvdWxkIGJlIHVzZWQgZm9yIEdUVCAqLwor I2RlZmluZSBBTURHUFVfR0VNX0NSRUFURV9DUFVfR1RUX1dDCQkoMSA8PCAzKQorCisvKiBGbGFn IG1hc2sgZm9yIEdUVCBkb21haW5fZmxhZ3MgKi8KKyNkZWZpbmUgQU1ER1BVX0dFTV9DUkVBVEVf Q1BVX0dUVF9NQVNLIFwKKwkoQU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0dUVF9XQyB8IFwKKwkgQU1E R1BVX0dFTV9DUkVBVEVfQ1BVX0dUVF9VQyB8IFwKKwkgQU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0FD Q0VTU19SRVFVSVJFRCB8IFwKKwkgQU1ER1BVX0dFTV9DUkVBVEVfTk9fQ1BVX0FDQ0VTUykKKwor c3RydWN0IGRybV9hbWRncHVfZ2VtX2NyZWF0ZV9pbiAgeworCS8qKiB0aGUgcmVxdWVzdGVkIG1l bW9yeSBzaXplICovCisJdWludDY0X3QgYm9fc2l6ZTsKKwkvKiogcGh5c2ljYWwgc3RhcnRfYWRk ciBhbGlnbm1lbnQgaW4gYnl0ZXMgZm9yIHNvbWUgSFcgcmVxdWlyZW1lbnRzICovCisJdWludDY0 X3QgYWxpZ25tZW50OworCS8qKiB0aGUgcmVxdWVzdGVkIG1lbW9yeSBkb21haW5zICovCisJdWlu dDY0X3QgZG9tYWluczsKKwkvKiogYWxsb2NhdGlvbiBmbGFncyAqLworCXVpbnQ2NF90IGRvbWFp bl9mbGFnczsKK307CisKK3N0cnVjdCBkcm1fYW1kZ3B1X2dlbV9jcmVhdGVfb3V0ICB7CisJLyoq IHJldHVybmVkIEdFTSBvYmplY3QgaGFuZGxlICovCisJdWludDMyX3QgaGFuZGxlOworCXVpbnQz Ml90IF9wYWQ7Cit9OworCit1bmlvbiBkcm1fYW1kZ3B1X2dlbV9jcmVhdGUgeworCXN0cnVjdCBk cm1fYW1kZ3B1X2dlbV9jcmVhdGVfaW4JCWluOworCXN0cnVjdCBkcm1fYW1kZ3B1X2dlbV9jcmVh dGVfb3V0CW91dDsKK307CisKKy8qKiBPcGNvZGUgdG8gY3JlYXRlIG5ldyByZXNpZGVuY3kgbGlz dC4gICovCisjZGVmaW5lIEFNREdQVV9CT19MSVNUX09QX0NSRUFURQkwCisvKiogT3Bjb2RlIHRv IGRlc3Ryb3kgcHJldmlvdXNseSBjcmVhdGVkIHJlc2lkZW5jeSBsaXN0ICovCisjZGVmaW5lIEFN REdQVV9CT19MSVNUX09QX0RFU1RST1kJMQorLyoqIE9wY29kZSB0byB1cGRhdGUgcmVzb3VyY2Ug aW5mb3JtYXRpb24gaW4gdGhlIGxpc3QgKi8KKyNkZWZpbmUgQU1ER1BVX0JPX0xJU1RfT1BfVVBE QVRFCTIKKworc3RydWN0IGRybV9hbWRncHVfYm9fbGlzdF9pbiB7CisJLyoqIFR5cGUgb2Ygb3Bl cmF0aW9uICovCisJdWludDMyX3Qgb3BlcmF0aW9uOworCS8qKiBIYW5kbGUgb2YgbGlzdCBvciAw IGlmIHdlIHdhbnQgdG8gY3JlYXRlIG9uZSAqLworCXVpbnQzMl90IGxpc3RfaGFuZGxlOworCS8q KiBOdW1iZXIgb2YgQk9zIGluIGxpc3QgICovCisJdWludDMyX3QgYm9fbnVtYmVyOworCS8qKiBT aXplIG9mIGVhY2ggZWxlbWVudCBkZXNjcmliaW5nIEJPICovCisJdWludDMyX3QgYm9faW5mb19z aXplOworCS8qKiBQb2ludGVyIHRvIGFycmF5IGRlc2NyaWJpbmcgQk9zICovCisJdWludDY0X3Qg Ym9faW5mb19wdHI7Cit9OworCitzdHJ1Y3QgZHJtX2FtZGdwdV9ib19saXN0X2VudHJ5IHsKKwkv KiogSGFuZGxlIG9mIEJPICovCisJdWludDMyX3QgYm9faGFuZGxlOworCS8qKiBOZXcgKGlmIHNw ZWNpZmllZCkgQk8gcHJpb3JpdHkgdG8gYmUgdXNlZCBkdXJpbmcgbWlncmF0aW9uICovCisJdWlu dDMyX3QgYm9fcHJpb3JpdHk7Cit9OworCitzdHJ1Y3QgZHJtX2FtZGdwdV9ib19saXN0X291dCB7 CisJLyoqIEhhbmRsZSBvZiByZXNvdXJjZSBsaXN0ICAqLworCXVpbnQzMl90IGxpc3RfaGFuZGxl OworCXVpbnQzMl90IF9wYWQ7Cit9OworCit1bmlvbiBkcm1fYW1kZ3B1X2JvX2xpc3QgeworCXN0 cnVjdCBkcm1fYW1kZ3B1X2JvX2xpc3RfaW4gaW47CisJc3RydWN0IGRybV9hbWRncHVfYm9fbGlz dF9vdXQgb3V0OworfTsKKworLyogY29udGV4dCByZWxhdGVkICovCisjZGVmaW5lIEFNREdQVV9D VFhfT1BfQUxMT0NfQ1RYCTEKKyNkZWZpbmUgQU1ER1BVX0NUWF9PUF9GUkVFX0NUWAkyCisjZGVm aW5lIEFNREdQVV9DVFhfT1BfUVVFUllfU1RBVEUJMworCisjZGVmaW5lIEFNREdQVV9DVFhfT1Bf U1RBVEVfUlVOTklORwkxCisKK3N0cnVjdCBkcm1fYW1kZ3B1X2N0eF9pbiB7CisJdWludDMyX3QJ b3A7CisJdWludDMyX3QJZmxhZ3M7CisJdWludDMyX3QJY3R4X2lkOworCXVpbnQzMl90CV9wYWQ7 Cit9OworCit1bmlvbiBkcm1fYW1kZ3B1X2N0eF9vdXQgeworCQlzdHJ1Y3QgeworCQkJdWludDMy X3QJY3R4X2lkOworCQkJdWludDMyX3QJX3BhZDsKKwkJfSBhbGxvYzsKKworCQlzdHJ1Y3Qgewor CQkJdWludDY0X3QJZmxhZ3M7CisJCQl1aW50NjRfdAloYW5nczsKKwkJfSBzdGF0ZTsKK307CisK K3VuaW9uIGRybV9hbWRncHVfY3R4IHsKKwlzdHJ1Y3QgZHJtX2FtZGdwdV9jdHhfaW4gaW47CisJ dW5pb24gZHJtX2FtZGdwdV9jdHhfb3V0IG91dDsKK307CisKKy8qCisgKiBUaGlzIGlzIG5vdCBh IHJlbGlhYmxlIEFQSSBhbmQgeW91IHNob3VsZCBleHBlY3QgaXQgdG8gZmFpbCBmb3IgYW55Cisg KiBudW1iZXIgb2YgcmVhc29ucyBhbmQgaGF2ZSBmYWxsYmFjayBwYXRoIHRoYXQgZG8gbm90IHVz ZSB1c2VycHRyIHRvCisgKiBwZXJmb3JtIGFueSBvcGVyYXRpb24uCisgKi8KKyNkZWZpbmUgQU1E R1BVX0dFTV9VU0VSUFRSX1JFQURPTkxZCSgxIDw8IDApCisjZGVmaW5lIEFNREdQVV9HRU1fVVNF UlBUUl9BTk9OT05MWQkoMSA8PCAxKQorI2RlZmluZSBBTURHUFVfR0VNX1VTRVJQVFJfVkFMSURB VEUJKDEgPDwgMikKKyNkZWZpbmUgQU1ER1BVX0dFTV9VU0VSUFRSX1JFR0lTVEVSCSgxIDw8IDMp CisKK3N0cnVjdCBkcm1fYW1kZ3B1X2dlbV91c2VycHRyIHsKKwl1aW50NjRfdAkJYWRkcjsKKwl1 aW50NjRfdAkJc2l6ZTsKKwl1aW50MzJfdAkJZmxhZ3M7CisJdWludDMyX3QJCWhhbmRsZTsKK307 CisKKyNkZWZpbmUgQU1ER1BVX1RJTElOR19NQUNSTwkJCQkweDEKKyNkZWZpbmUgQU1ER1BVX1RJ TElOR19NSUNSTwkJCQkweDIKKyNkZWZpbmUgQU1ER1BVX1RJTElOR19TV0FQXzE2QklUCQkJMHg0 CisjZGVmaW5lIEFNREdQVV9USUxJTkdfUjYwMF9OT19TQ0FOT1VUCQkJQU1ER1BVX1RJTElOR19T V0FQXzE2QklUCisjZGVmaW5lIEFNREdQVV9USUxJTkdfU1dBUF8zMkJJVAkJCTB4OAorLyogdGhp cyBvYmplY3QgcmVxdWlyZXMgYSBzdXJmYWNlIHdoZW4gbWFwcGVkIC0gaS5lLiBmcm9udCBidWZm ZXIgKi8KKyNkZWZpbmUgQU1ER1BVX1RJTElOR19TVVJGQUNFCQkJCTB4MTAKKyNkZWZpbmUgQU1E R1BVX1RJTElOR19NSUNST19TUVVBUkUJCQkweDIwCisjZGVmaW5lIEFNREdQVV9USUxJTkdfRUdf QkFOS1dfU0hJRlQJCQk4CisjZGVmaW5lIEFNREdQVV9USUxJTkdfRUdfQkFOS1dfTUFTSwkJCTB4 ZgorI2RlZmluZSBBTURHUFVfVElMSU5HX0VHX0JBTktIX1NISUZUCQkJMTIKKyNkZWZpbmUgQU1E R1BVX1RJTElOR19FR19CQU5LSF9NQVNLCQkJMHhmCisjZGVmaW5lIEFNREdQVV9USUxJTkdfRUdf TUFDUk9fVElMRV9BU1BFQ1RfU0hJRlQJMTYKKyNkZWZpbmUgQU1ER1BVX1RJTElOR19FR19NQUNS T19USUxFX0FTUEVDVF9NQVNLCTB4ZgorI2RlZmluZSBBTURHUFVfVElMSU5HX0VHX1RJTEVfU1BM SVRfU0hJRlQJCTI0CisjZGVmaW5lIEFNREdQVV9USUxJTkdfRUdfVElMRV9TUExJVF9NQVNLCQkw eGYKKyNkZWZpbmUgQU1ER1BVX1RJTElOR19FR19TVEVOQ0lMX1RJTEVfU1BMSVRfU0hJRlQJMjgK KyNkZWZpbmUgQU1ER1BVX1RJTElOR19FR19TVEVOQ0lMX1RJTEVfU1BMSVRfTUFTSwkweGYKKwor I2RlZmluZSBBTURHUFVfR0VNX01FVEFEQVRBX09QX1NFVF9NRVRBREFUQSAgICAgICAgICAgICAg ICAgIDEKKyNkZWZpbmUgQU1ER1BVX0dFTV9NRVRBREFUQV9PUF9HRVRfTUVUQURBVEEgICAgICAg ICAgICAgICAgICAyCisKKy8qKiBUaGUgc2FtZSBzdHJ1Y3R1cmUgaXMgc2hhcmVkIGZvciBpbnB1 dC9vdXRwdXQgKi8KK3N0cnVjdCBkcm1fYW1kZ3B1X2dlbV9tZXRhZGF0YSB7CisJdWludDMyX3QJ aGFuZGxlOwkJLyogR0VNIE9iamVjdCBoYW5kbGUgKi8KKwl1aW50MzJfdAlvcDsJCS8qKiBEbyB3 ZSB3YW50IGdldCBvciBzZXQgbWV0YWRhdGEgKi8KKwlzdHJ1Y3QgeworCQl1aW50NjRfdAlmbGFn czsKKwkJdWludDY0X3QJdGlsaW5nX2luZm87IC8qIGZhbWlseSBzcGVjaWZpYyB0aWxpbmcgaW5m byAqLworCQl1aW50MzJfdAlkYXRhX3NpemVfYnl0ZXM7CisJCXVpbnQzMl90CWRhdGFbNjRdOwor CX0gZGF0YTsKK307CisKK3N0cnVjdCBkcm1fYW1kZ3B1X2dlbV9tbWFwX2luIHsKKwl1aW50MzJf dCBoYW5kbGU7CQkvKiogdGhlIEdFTSBvYmplY3QgaGFuZGxlICovCisJdWludDMyX3QgX3BhZDsK K307CisKK3N0cnVjdCBkcm1fYW1kZ3B1X2dlbV9tbWFwX291dCB7CisJdWludDY0X3QgYWRkcl9w dHI7CS8qKiBtbWFwIG9mZnNldCBmcm9tIHRoZSB2bWEgb2Zmc2V0IG1hbmFnZXIgKi8KK307CisK K3VuaW9uIGRybV9hbWRncHVfZ2VtX21tYXAgeworCXN0cnVjdCBkcm1fYW1kZ3B1X2dlbV9tbWFw X2luICAgaW47CisJc3RydWN0IGRybV9hbWRncHVfZ2VtX21tYXBfb3V0IG91dDsKK307CisKK3N0 cnVjdCBkcm1fYW1kZ3B1X2dlbV93YWl0X2lkbGVfaW4geworCXVpbnQzMl90IGhhbmRsZTsgICAJ LyogR0VNIG9iamVjdCBoYW5kbGUgKi8KKwl1aW50MzJfdCBmbGFnczsKKwl1aW50NjRfdCB0aW1l b3V0OyAJLyogVGltZW91dCB0byB3YWl0LiBJZiAwIHRoZW4gcmV0dXJuZWQgaW1tZWRpYXRlbHkg d2l0aCB0aGUgc3RhdHVzICovCit9OworCitzdHJ1Y3QgZHJtX2FtZGdwdV9nZW1fd2FpdF9pZGxl X291dCB7CisJdWludDMyX3Qgc3RhdHVzOwkvKiAgIEJPIHN0YXR1czogIDAgLSBCTyBpcyBpZGxl LCAxIC0gQk8gaXMgYnVzeSAqLworCXVpbnQzMl90IGRvbWFpbjsgLyogIFJldHVybmVkIGN1cnJl bnQgbWVtb3J5IGRvbWFpbiAqLworfTsKKwordW5pb24gZHJtX2FtZGdwdV9nZW1fd2FpdF9pZGxl IHsKKwlzdHJ1Y3QgZHJtX2FtZGdwdV9nZW1fd2FpdF9pZGxlX2luICBpbjsKKwlzdHJ1Y3QgZHJt X2FtZGdwdV9nZW1fd2FpdF9pZGxlX291dCBvdXQ7Cit9OworCitzdHJ1Y3QgZHJtX2FtZGdwdV93 YWl0X2NzX2luIHsKKwl1aW50NjRfdCBoYW5kbGU7CisJdWludDY0X3QgdGltZW91dDsKKwl1aW50 MzJfdCBpcF90eXBlOworCXVpbnQzMl90IGlwX2luc3RhbmNlOworCXVpbnQzMl90IHJpbmc7CisJ dWludDMyX3QgX3BhZDsKK307CisKK3N0cnVjdCBkcm1fYW1kZ3B1X3dhaXRfY3Nfb3V0IHsKKwl1 aW50NjRfdCBzdGF0dXM7Cit9OworCit1bmlvbiBkcm1fYW1kZ3B1X3dhaXRfY3MgeworCXN0cnVj dCBkcm1fYW1kZ3B1X3dhaXRfY3NfaW4gaW47CisJc3RydWN0IGRybV9hbWRncHVfd2FpdF9jc19v dXQgb3V0OworfTsKKworLyogU2V0cyBvciByZXR1cm5zIGEgdmFsdWUgYXNzb2NpYXRlZCB3aXRo IGEgYnVmZmVyLiAqLworc3RydWN0IGRybV9hbWRncHVfZ2VtX29wIHsKKwl1aW50MzJfdAloYW5k bGU7IC8qIGJ1ZmZlciAqLworCXVpbnQzMl90CW9wOyAgICAgLyogQU1ER1BVX0dFTV9PUF8qICov CisJdWludDY0X3QJdmFsdWU7ICAvKiBpbnB1dCBvciByZXR1cm4gdmFsdWUgKi8KK307CisKKyNk ZWZpbmUgQU1ER1BVX0dFTV9PUF9HRVRfR0VNX0NSRUFURV9JTkZPCQkwCisjZGVmaW5lIEFNREdQ VV9HRU1fT1BfU0VUX0lOSVRJQUxfRE9NQUlOCTEKKworI2RlZmluZSBBTURHUFVfVkFfT1BfTUFQ CQkJMQorI2RlZmluZSBBTURHUFVfVkFfT1BfVU5NQVAJCQkyCisKKyNkZWZpbmUgQU1ER1BVX1ZB X1JFU1VMVF9PSwkJCTAKKyNkZWZpbmUgQU1ER1BVX1ZBX1JFU1VMVF9FUlJPUgkJCTEKKyNkZWZp bmUgQU1ER1BVX1ZBX1JFU1VMVF9WQV9JTlZBTElEX0FMSUdOTUVOVAkyCisKKy8qIE1hcHBpbmcg ZmxhZ3MgKi8KKy8qIHJlYWRhYmxlIG1hcHBpbmcgKi8KKyNkZWZpbmUgQU1ER1BVX1ZNX1BBR0Vf UkVBREFCTEUJCSgxIDw8IDEpCisvKiB3cml0YWJsZSBtYXBwaW5nICovCisjZGVmaW5lIEFNREdQ VV9WTV9QQUdFX1dSSVRFQUJMRQkoMSA8PCAyKQorLyogZXhlY3V0YWJsZSBtYXBwaW5nLCBuZXcg Zm9yIFZJICovCisjZGVmaW5lIEFNREdQVV9WTV9QQUdFX0VYRUNVVEFCTEUJKDEgPDwgMykKKwor c3RydWN0IGRybV9hbWRncHVfZ2VtX3ZhX2luIHsKKwkvKiBHRU0gb2JqZWN0IGhhbmRsZSAqLwor CXVpbnQzMl90IGhhbmRsZTsKKwl1aW50MzJfdCBfcGFkOworCS8qIG1hcCBvciB1bm1hcCovCisJ dWludDMyX3Qgb3BlcmF0aW9uOworCS8qIHNwZWNpZnkgbWFwcGluZyBmbGFncyAqLworCXVpbnQz Ml90IGZsYWdzOworCS8qIHZhIGFkZHJlc3MgdG8gYXNzaWduIC4gTXVzdCBiZSBjb3JyZWN0bHkg YWxpZ25lZC4qLworCXVpbnQ2NF90IHZhX2FkZHJlc3M7CisJLyogU3BlY2lmeSBvZmZzZXQgaW5z aWRlIG9mIEJPIHRvIGFzc2lnbi4gTXVzdCBiZSBjb3JyZWN0bHkgYWxpZ25lZC4qLworCXVpbnQ2 NF90IG9mZnNldF9pbl9ibzsKKwkvKiBTcGVjaWZ5IG1hcHBpbmcgc2l6ZS4gSWYgMCBhbmQgb2Zm c2V0IGlzIDAgdGhlbiBtYXAgdGhlIHdob2xlIEJPLiovCisJLyogTXVzdCBiZSBjb3JyZWN0bHkg YWxpZ25lZC4gKi8KKwl1aW50NjRfdCBtYXBfc2l6ZTsKK307CisKK3N0cnVjdCBkcm1fYW1kZ3B1 X2dlbV92YV9vdXQgeworCXVpbnQzMl90IHJlc3VsdDsKKwl1aW50MzJfdCBfcGFkOworfTsKKwor dW5pb24gZHJtX2FtZGdwdV9nZW1fdmEgeworCXN0cnVjdCBkcm1fYW1kZ3B1X2dlbV92YV9pbiAg aW47CisJc3RydWN0IGRybV9hbWRncHVfZ2VtX3ZhX291dCBvdXQ7Cit9OworCisjZGVmaW5lIEFN REdQVV9IV19JUF9HRlggICAgICAgICAgMAorI2RlZmluZSBBTURHUFVfSFdfSVBfQ09NUFVURSAg ICAgIDEKKyNkZWZpbmUgQU1ER1BVX0hXX0lQX0RNQSAgICAgICAgICAyCisjZGVmaW5lIEFNREdQ VV9IV19JUF9VVkQgICAgICAgICAgMworI2RlZmluZSBBTURHUFVfSFdfSVBfVkNFICAgICAgICAg IDQKKyNkZWZpbmUgQU1ER1BVX0hXX0lQX05VTSAgICAgICAgICA1CisKKyNkZWZpbmUgQU1ER1BV X0hXX0lQX0lOU1RBTkNFX01BWF9DT1VOVCAxCisKKyNkZWZpbmUgQU1ER1BVX0NIVU5LX0lEX0lC CQkweDAxCisjZGVmaW5lIEFNREdQVV9DSFVOS19JRF9GRU5DRQkJMHgwMgorc3RydWN0IGRybV9h bWRncHVfY3NfY2h1bmsgeworCXVpbnQzMl90CQljaHVua19pZDsKKwl1aW50MzJfdAkJbGVuZ3Ro X2R3OworCXVpbnQ2NF90CQljaHVua19kYXRhOworfTsKKworc3RydWN0IGRybV9hbWRncHVfY3Nf aW4geworCS8qKiBSZW5kZXJpbmcgY29udGV4dCBpZCAqLworCXVpbnQzMl90CQljdHhfaWQ7CisJ LyoqICBIYW5kbGUgb2YgcmVzb3VyY2UgbGlzdCBhc3NvY2lhdGVkIHdpdGggQ1MgKi8KKwl1aW50 MzJfdAkJYm9fbGlzdF9oYW5kbGU7CisJdWludDMyX3QJCW51bV9jaHVua3M7CisJdWludDMyX3QJ CV9wYWQ7CisJLyogdGhpcyBwb2ludHMgdG8gdWludDY0X3QgKiB3aGljaCBwb2ludCB0byBjcyBj aHVua3MgKi8KKwl1aW50NjRfdAkJY2h1bmtzOworfTsKKworc3RydWN0IGRybV9hbWRncHVfY3Nf b3V0IHsKKwl1aW50NjRfdCBoYW5kbGU7Cit9OworCit1bmlvbiBkcm1fYW1kZ3B1X2NzIHsKKyAg ICAgICBzdHJ1Y3QgZHJtX2FtZGdwdV9jc19pbiBpbjsKKyAgICAgICBzdHJ1Y3QgZHJtX2FtZGdw dV9jc19vdXQgb3V0OworfTsKKworLyogU3BlY2lmeSBmbGFncyB0byBiZSB1c2VkIGZvciBJQiAq LworCisvKiBUaGlzIElCIHNob3VsZCBiZSBzdWJtaXR0ZWQgdG8gQ0UgKi8KKyNkZWZpbmUgQU1E R1BVX0lCX0ZMQUdfQ0UJKDE8PDApCisKKy8qIEdEUyBpcyB1c2VkIGJ5IHRoaXMgSUIgKi8KKyNk ZWZpbmUgQU1ER1BVX0lCX0ZMQUdfR0RTCSgxPDwxKQorCitzdHJ1Y3QgZHJtX2FtZGdwdV9jc19j aHVua19pYiB7CisJLyoqCisJICogSGFuZGxlIG9mIEdFTSBvYmplY3QgdG8gYmUgdXNlZCBhcyBJ QiBvciAwIGlmIGl0IGlzIGFscmVhZHkgaW4KKwkgKiByZXNpZGVuY3kgbGlzdC4KKwkgKi8KKwl1 aW50MzJfdCBoYW5kbGU7CisJdWludDMyX3QgZmxhZ3M7CQkvKiBJQiBGbGFncyAqLworCXVpbnQ2 NF90IHZhX3N0YXJ0OwkvKiBWaXJ0dWFsIGFkZHJlc3MgdG8gYmVnaW4gSUIgZXhlY3V0aW9uICov CisJdWludDMyX3QgaWJfYnl0ZXM7CS8qIFNpemUgb2Ygc3VibWlzc2lvbiAqLworCXVpbnQzMl90 IGlwX3R5cGU7CS8qIEhXIElQIHRvIHN1Ym1pdCB0byAqLworCXVpbnQzMl90IGlwX2luc3RhbmNl OwkvKiBIVyBJUCBpbmRleCBvZiB0aGUgc2FtZSB0eXBlIHRvIHN1Ym1pdCB0byAgKi8KKwl1aW50 MzJfdCByaW5nOwkJLyogUmluZyBpbmRleCB0byBzdWJtaXQgdG8gKi8KK307CisKK3N0cnVjdCBk cm1fYW1kZ3B1X2NzX2NodW5rX2ZlbmNlIHsKKwl1aW50MzJfdCBoYW5kbGU7CisJdWludDMyX3Qg b2Zmc2V0OworfTsKKworc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfZGF0YSB7CisJdW5pb24g eworCQlzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19pYgkJaWJfZGF0YTsKKwkJc3RydWN0IGRy bV9hbWRncHVfY3NfY2h1bmtfZmVuY2UJZmVuY2VfZGF0YTsKKwl9OworfTsKKworLyoqCisgKiAg UXVlcnkgaC93IGluZm86IEZsYWcgdGhhdCB0aGlzIGlzIGludGVncmF0ZWQgKGEuaC5hLiBmdXNp b24pIEdQVQorICoKKyAqLworI2RlZmluZSBBTURHUFVfSURTX0ZMQUdTX0ZVU0lPTiAgICAgICAg IDB4MQorCisvKiBpbmRpY2F0ZSBpZiBhY2NlbGVyYXRpb24gY2FuIGJlIHdvcmtpbmcgKi8KKyNk ZWZpbmUgQU1ER1BVX0lORk9fQUNDRUxfV09SS0lORwkJMHgwMAorLyogZ2V0IHRoZSBjcnRjX2lk IGZyb20gdGhlIG1vZGUgb2JqZWN0IGlkPyAqLworI2RlZmluZSBBTURHUFVfSU5GT19DUlRDX0ZS T01fSUQJCTB4MDEKKy8qIHF1ZXJ5IGh3IElQIGluZm8gKi8KKyNkZWZpbmUgQU1ER1BVX0lORk9f SFdfSVBfSU5GTwkJCTB4MDIKKy8qIHF1ZXJ5IGh3IElQIGluc3RhbmNlIGNvdW50IGZvciB0aGUg c3BlY2lmaWVkIHR5cGUgKi8KKyNkZWZpbmUgQU1ER1BVX0lORk9fSFdfSVBfQ09VTlQJCQkweDAz CisvKiB0aW1lc3RhbXAgZm9yIEdMX0FSQl90aW1lcl9xdWVyeSAqLworI2RlZmluZSBBTURHUFVf SU5GT19USU1FU1RBTVAJCQkweDA1CisvKiBRdWVyeSB0aGUgZmlybXdhcmUgdmVyc2lvbiAqLwor I2RlZmluZSBBTURHUFVfSU5GT19GV19WRVJTSU9OCQkJMHgwZQorCS8qIFN1YnF1ZXJ5IGlkOiBR dWVyeSBWQ0UgZmlybXdhcmUgdmVyc2lvbiAqLworCSNkZWZpbmUgQU1ER1BVX0lORk9fRldfVkNF CQkweDEKKwkvKiBTdWJxdWVyeSBpZDogUXVlcnkgVVZEIGZpcm13YXJlIHZlcnNpb24gKi8KKwkj ZGVmaW5lIEFNREdQVV9JTkZPX0ZXX1VWRAkJMHgyCisJLyogU3VicXVlcnkgaWQ6IFF1ZXJ5IEdN QyBmaXJtd2FyZSB2ZXJzaW9uICovCisJI2RlZmluZSBBTURHUFVfSU5GT19GV19HTUMJCTB4MDMK KwkvKiBTdWJxdWVyeSBpZDogUXVlcnkgR0ZYIE1FIGZpcm13YXJlIHZlcnNpb24gKi8KKwkjZGVm aW5lIEFNREdQVV9JTkZPX0ZXX0dGWF9NRQkJMHgwNAorCS8qIFN1YnF1ZXJ5IGlkOiBRdWVyeSBH RlggUEZQIGZpcm13YXJlIHZlcnNpb24gKi8KKwkjZGVmaW5lIEFNREdQVV9JTkZPX0ZXX0dGWF9Q RlAJCTB4MDUKKwkvKiBTdWJxdWVyeSBpZDogUXVlcnkgR0ZYIENFIGZpcm13YXJlIHZlcnNpb24g Ki8KKwkjZGVmaW5lIEFNREdQVV9JTkZPX0ZXX0dGWF9DRQkJMHgwNgorCS8qIFN1YnF1ZXJ5IGlk OiBRdWVyeSBHRlggUkxDIGZpcm13YXJlIHZlcnNpb24gKi8KKwkjZGVmaW5lIEFNREdQVV9JTkZP X0ZXX0dGWF9STEMJCTB4MDcKKwkvKiBTdWJxdWVyeSBpZDogUXVlcnkgR0ZYIE1FQyBmaXJtd2Fy ZSB2ZXJzaW9uICovCisJI2RlZmluZSBBTURHUFVfSU5GT19GV19HRlhfTUVDCQkweDA4CisJLyog U3VicXVlcnkgaWQ6IFF1ZXJ5IFNNQyBmaXJtd2FyZSB2ZXJzaW9uICovCisJI2RlZmluZSBBTURH UFVfSU5GT19GV19TTUMJCTB4MGEKKwkvKiBTdWJxdWVyeSBpZDogUXVlcnkgU0RNQSBmaXJtd2Fy ZSB2ZXJzaW9uICovCisJI2RlZmluZSBBTURHUFVfSU5GT19GV19TRE1BCQkweDBiCisvKiBudW1i ZXIgb2YgYnl0ZXMgbW92ZWQgZm9yIFRUTSBtaWdyYXRpb24gKi8KKyNkZWZpbmUgQU1ER1BVX0lO Rk9fTlVNX0JZVEVTX01PVkVECQkweDBmCisvKiB0aGUgdXNlZCBWUkFNIHNpemUgKi8KKyNkZWZp bmUgQU1ER1BVX0lORk9fVlJBTV9VU0FHRQkJCTB4MTAKKy8qIHRoZSB1c2VkIEdUVCBzaXplICov CisjZGVmaW5lIEFNREdQVV9JTkZPX0dUVF9VU0FHRQkJCTB4MTEKKy8qIEluZm9ybWF0aW9uIGFi b3V0IEdEUywgZXRjLiByZXNvdXJjZSBjb25maWd1cmF0aW9uICovCisjZGVmaW5lIEFNREdQVV9J TkZPX0dEU19DT05GSUcJCQkweDEzCisvKiBRdWVyeSBpbmZvcm1hdGlvbiBhYm91dCBWUkFNIGFu ZCBHVFQgZG9tYWlucyAqLworI2RlZmluZSBBTURHUFVfSU5GT19WUkFNX0dUVAkJCTB4MTQKKy8q IFF1ZXJ5IGluZm9ybWF0aW9uIGFib3V0IHJlZ2lzdGVyIGluIE1NUiBhZGRyZXNzIHNwYWNlKi8K KyNkZWZpbmUgQU1ER1BVX0lORk9fUkVBRF9NTVJfUkVHCQkweDE1CisvKiBRdWVyeSBpbmZvcm1h dGlvbiBhYm91dCBkZXZpY2U6IHJldiBpZCwgZmFtaWx5LCBldGMuICovCisjZGVmaW5lIEFNREdQ VV9JTkZPX0RFVl9JTkZPCQkJMHgxNgorLyogdmlzaWJsZSB2cmFtIHVzYWdlICovCisjZGVmaW5l IEFNREdQVV9JTkZPX1ZJU19WUkFNX1VTQUdFCQkweDE3CisKKyNkZWZpbmUgQU1ER1BVX0lORk9f TU1SX1NFX0lOREVYX1NISUZUCTAKKyNkZWZpbmUgQU1ER1BVX0lORk9fTU1SX1NFX0lOREVYX01B U0sJMHhmZgorI2RlZmluZSBBTURHUFVfSU5GT19NTVJfU0hfSU5ERVhfU0hJRlQJOAorI2RlZmlu ZSBBTURHUFVfSU5GT19NTVJfU0hfSU5ERVhfTUFTSwkweGZmCisKKy8qIElucHV0IHN0cnVjdHVy ZSBmb3IgdGhlIElORk8gaW9jdGwgKi8KK3N0cnVjdCBkcm1fYW1kZ3B1X2luZm8geworCS8qIFdo ZXJlIHRoZSByZXR1cm4gdmFsdWUgd2lsbCBiZSBzdG9yZWQgKi8KKwl1aW50NjRfdCByZXR1cm5f cG9pbnRlcjsKKwkvKiBUaGUgc2l6ZSBvZiB0aGUgcmV0dXJuIHZhbHVlLiBKdXN0IGxpa2UgInNp emUiIGluICJzbnByaW50ZiIsCisJICogaXQgbGltaXRzIGhvdyBtYW55IGJ5dGVzIHRoZSBrZXJu ZWwgY2FuIHdyaXRlLiAqLworCXVpbnQzMl90IHJldHVybl9zaXplOworCS8qIFRoZSBxdWVyeSBy ZXF1ZXN0IGlkLiAqLworCXVpbnQzMl90IHF1ZXJ5OworCisJdW5pb24geworCQlzdHJ1Y3Qgewor CQkJdWludDMyX3QgaWQ7CisJCQl1aW50MzJfdCBfcGFkOworCQl9IG1vZGVfY3J0YzsKKworCQlz dHJ1Y3QgeworCQkJLyoqIEFNREdQVV9IV19JUF8qICovCisJCQl1aW50MzJfdCB0eXBlOworCQkJ LyoqCisJCQkgKiBJbmRleCBvZiB0aGUgSVAgaWYgdGhlcmUgYXJlIG1vcmUgSVBzIG9mIHRoZSBz YW1lIHR5cGUuCisJCQkgKiBJZ25vcmVkIGJ5IEFNREdQVV9JTkZPX0hXX0lQX0NPVU5ULgorCQkJ ICovCisJCQl1aW50MzJfdCBpcF9pbnN0YW5jZTsKKwkJfSBxdWVyeV9od19pcDsKKworCQlzdHJ1 Y3QgeworCQkJdWludDMyX3QgZHdvcmRfb2Zmc2V0OworCQkJdWludDMyX3QgY291bnQ7IC8qIG51 bWJlciBvZiByZWdpc3RlcnMgdG8gcmVhZCAqLworCQkJdWludDMyX3QgaW5zdGFuY2U7CisJCQl1 aW50MzJfdCBmbGFnczsKKwkJfSByZWFkX21tcl9yZWc7CisKKwkJc3RydWN0IHsKKwkJCS8qKiBB TURHUFVfSU5GT19GV18qICovCisJCQl1aW50MzJfdCBmd190eXBlOworCQkJLyoqIEluZGV4IG9m IHRoZSBJUCBpZiB0aGVyZSBhcmUgbW9yZSBJUHMgb2YgdGhlIHNhbWUgdHlwZS4gKi8KKwkJCXVp bnQzMl90IGlwX2luc3RhbmNlOworCQkJLyoqCisJCQkgKiBJbmRleCBvZiB0aGUgZW5naW5lLiBX aGV0aGVyIHRoaXMgaXMgdXNlZCBkZXBlbmRzCisJCQkgKiBvbiB0aGUgZmlybXdhcmUgdHlwZS4g KGUuZy4gTUVDLCBTRE1BKQorCQkJICovCisJCQl1aW50MzJfdCBpbmRleDsKKwkJCXVpbnQzMl90 IF9wYWQ7CisJCX0gcXVlcnlfZnc7CisJfTsKK307CisKK3N0cnVjdCBkcm1fYW1kZ3B1X2luZm9f Z2RzIHsKKwkvKiogR0RTIEdGWCBwYXJ0aXRpb24gc2l6ZSAqLworCXVpbnQzMl90IGdkc19nZnhf cGFydGl0aW9uX3NpemU7CisJLyoqIEdEUyBjb21wdXRlIHBhcnRpdGlvbiBzaXplICovCisJdWlu dDMyX3QgY29tcHV0ZV9wYXJ0aXRpb25fc2l6ZTsKKwkvKiogdG90YWwgR0RTIG1lbW9yeSBzaXpl ICovCisJdWludDMyX3QgZ2RzX3RvdGFsX3NpemU7CisJLyoqIEdXUyBzaXplIHBlciBHRlggcGFy dGl0aW9uICovCisJdWludDMyX3QgZ3dzX3Blcl9nZnhfcGFydGl0aW9uOworCS8qKiBHU1cgc2l6 ZSBwZXIgY29tcHV0ZSBwYXJ0aXRpb24gKi8KKwl1aW50MzJfdCBnd3NfcGVyX2NvbXB1dGVfcGFy dGl0aW9uOworCS8qKiBPQSBzaXplIHBlciBHRlggcGFydGl0aW9uICovCisJdWludDMyX3Qgb2Ff cGVyX2dmeF9wYXJ0aXRpb247CisJLyoqIE9BIHNpemUgcGVyIGNvbXB1dGUgcGFydGl0aW9uICov CisJdWludDMyX3Qgb2FfcGVyX2NvbXB1dGVfcGFydGl0aW9uOworCXVpbnQzMl90IF9wYWQ7Cit9 OworCitzdHJ1Y3QgZHJtX2FtZGdwdV9pbmZvX3ZyYW1fZ3R0IHsKKwl1aW50NjRfdCB2cmFtX3Np emU7CisJdWludDY0X3QgdnJhbV9jcHVfYWNjZXNzaWJsZV9zaXplOworCXVpbnQ2NF90IGd0dF9z aXplOworfTsKKworc3RydWN0IGRybV9hbWRncHVfaW5mb19maXJtd2FyZSB7CisJdWludDMyX3Qg dmVyOworCXVpbnQzMl90IGZlYXR1cmU7Cit9OworCitzdHJ1Y3QgZHJtX2FtZGdwdV9pbmZvX2Rl dmljZSB7CisJLyoqIFBDSSBEZXZpY2UgSUQgKi8KKwl1aW50MzJfdCBkZXZpY2VfaWQ7CisJLyoq IEludGVybmFsIGNoaXAgcmV2aXNpb246IEEwLCBBMSwgZXRjLikgKi8KKwl1aW50MzJfdCBjaGlw X3JldjsKKwl1aW50MzJfdCBleHRlcm5hbF9yZXY7CisJLyoqIFJldmlzaW9uIGlkIGluIFBDSSBD b25maWcgc3BhY2UgKi8KKwl1aW50MzJfdCBwY2lfcmV2OworCXVpbnQzMl90IGZhbWlseTsKKwl1 aW50MzJfdCBudW1fc2hhZGVyX2VuZ2luZXM7CisJdWludDMyX3QgbnVtX3NoYWRlcl9hcnJheXNf cGVyX2VuZ2luZTsKKwl1aW50MzJfdCBncHVfY291bnRlcl9mcmVxOyAvKiBpbiBLSHogKi8KKwl1 aW50NjRfdCBtYXhfZW5naW5lX2Nsb2NrOyAvKiBpbiBLSHogKi8KKwkvKiBjdSBpbmZvcm1hdGlv biAqLworCXVpbnQzMl90IGN1X2FjdGl2ZV9udW1iZXI7CisJdWludDMyX3QgY3VfYW9fbWFzazsK Kwl1aW50MzJfdCBjdV9iaXRtYXBbNF1bNF07CisJLyoqIFJlbmRlciBiYWNrZW5kIHBpcGUgbWFz ay4gT25lIHJlbmRlciBiYWNrZW5kIGlzIENCK0RCLiAqLworCXVpbnQzMl90IGVuYWJsZWRfcmJf cGlwZXNfbWFzazsKKwl1aW50MzJfdCBudW1fcmJfcGlwZXM7CisJdWludDMyX3QgbnVtX2h3X2dm eF9jb250ZXh0czsKKwl1aW50MzJfdCBfcGFkOworCXVpbnQ2NF90IGlkc19mbGFnczsKKwkvKiog U3RhcnRpbmcgdmlydHVhbCBhZGRyZXNzIGZvciBVTURzLiAqLworCXVpbnQ2NF90IHZpcnR1YWxf YWRkcmVzc19vZmZzZXQ7CisJLyoqIFJlcXVpcmVkIGFsaWdubWVudCBvZiB2aXJ0dWFsIGFkZHJl c3Nlcy4gKi8KKwl1aW50MzJfdCB2aXJ0dWFsX2FkZHJlc3NfYWxpZ25tZW50OworCS8qKiBQYWdl IHRhYmxlIGVudHJ5IC0gZnJhZ21lbnQgc2l6ZSAqLworCXVpbnQzMl90IHB0ZV9mcmFnbWVudF9z aXplOworCXVpbnQzMl90IGdhcnRfcGFnZV9zaXplOworfTsKKworc3RydWN0IGRybV9hbWRncHVf aW5mb19od19pcCB7CisJLyoqIFZlcnNpb24gb2YgaC93IElQICovCisJdWludDMyX3QgIGh3X2lw X3ZlcnNpb25fbWFqb3I7CisJdWludDMyX3QgIGh3X2lwX3ZlcnNpb25fbWlub3I7CisJLyoqIENh cGFiaWxpdGllcyAqLworCXVpbnQ2NF90ICBjYXBhYmlsaXRpZXNfZmxhZ3M7CisJLyoqIEJpdG1h c2sgb2YgYXZhaWxhYmxlIHJpbmdzLiBCaXQgMCBtZWFucyByaW5nIDAsIGV0Yy4gKi8KKwl1aW50 MzJfdCAgYXZhaWxhYmxlX3JpbmdzOworCXVpbnQzMl90ICBfcGFkOworfTsKKworLyoKKyAqIFN1 cHBvcnRlZCBHUFUgZmFtaWxpZXMKKyAqLworI2RlZmluZSBBTURHUFVfRkFNSUxZX1VOS05PV04J CQkwCisjZGVmaW5lIEFNREdQVV9GQU1JTFlfQ0kJCQkxMjAgLyogQm9uYWlyZSwgSGF3YWlpICov CisjZGVmaW5lIEFNREdQVV9GQU1JTFlfS1YJCQkxMjUgLyogS2F2ZXJpLCBLYWJpbmksIE11bGxp bnMgKi8KKyNkZWZpbmUgQU1ER1BVX0ZBTUlMWV9WSQkJCTEzMCAvKiBJY2VsYW5kLCBUb25nYSAq LworI2RlZmluZSBBTURHUFVfRkFNSUxZX0NaCQkJMTM1IC8qIENhcnJpem8gKi8KKworI2VuZGlm Ci0tIAoxLjguMy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bAo=