From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Gordon Subject: =?utf-8?q?=5BPATCH_04/15=5D_drm/i915=3A_Add_GuC-relat?= =?utf-8?q?ed_header_files?= Date: Mon, 15 Jun 2015 19:36:22 +0100 Message-ID: <1434393394-21002-5-git-send-email-david.s.gordon@intel.com> References: <1434393394-21002-1-git-send-email-david.s.gordon@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id C81E96E891 for ; Mon, 15 Jun 2015 11:37:46 -0700 (PDT) In-Reply-To: <1434393394-21002-1-git-send-email-david.s.gordon@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQWxleCBEYWkgPHl1LmRhaUBpbnRlbC5jb20+CgppbnRlbF9ndWNfYXBpLmggY29udGFp bnMgdGhlIHN1YnNldCBvZiB0aGUgR3VDIGludGVyZmFjZSB0aGF0IHdlCndpbGwgbmVlZCBmb3Ig c3VibWlzc2lvbiBvZiBjb21tYW5kcyB0aHJvdWdoIHRoZSBHdUMuIFRoZXNlIE1VU1QKYmUga2Vw dCBpbiBzeW5jIHdpdGggdGhlIGRlZmluaXRpb25zIHVzZWQgYnkgdGhlIEd1QyBmaXJtd2FyZS4K CmludGVsX2d1Yy5oIGRlZmluZXMgc3RydWN0dXJlcyBhbmQgcGFyYW1ldGVycyByZWxldmFudCB0 byBsb2FkaW5nCnRoZSBHdUMgZmlybXdhcmUgYW5kIHNldHRpbmcgaXQgcnVubmluZy4gU29tZSBv ZiB0aGVzZSBhbHNvIG5lZWQKdG8gYmUga2VwdCBpbiBzeW5jIHdpdGggdGhlIGZpcm13YXJlLgoK SXNzdWU6IFZJWi00ODg0ClNpZ25lZC1vZmYtYnk6IEFsZXggRGFpIDx5dS5kYWlAaW50ZWwuY29t PgpTaWduZWQtb2ZmLWJ5OiBEYXZlIEdvcmRvbiA8ZGF2aWQucy5nb3Jkb25AaW50ZWwuY29tPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgICB8ICAgIDQgKy0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oICAgICB8ICAxNjkgKysrKysrKysrKysrKysrKysr KysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2FwaS5oIHwgIDIyNyArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDM5OSBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZ3VjLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9ndWNfYXBpLmgKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAppbmRleCAwZjcyYzBl Li4wZTQ1ODllIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKQEAgLTY3NjIsNyArNjc2Miw5IEBA IGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewogI2RlZmluZSAgIEdFTjlfUEdDVExfU1NCX0VV MzExX0FDSwkoMSA8PCAxNCkKIAogI2RlZmluZSBHRU43X01JU0NDUENUTAkJCSgweDk0MjQpCi0j ZGVmaW5lICAgR0VON19ET1BfQ0xPQ0tfR0FURV9FTkFCTEUJKDE8PDApCisjZGVmaW5lICAgR0VO N19ET1BfQ0xPQ0tfR0FURV9FTkFCTEUJCSgxPDwwKQorI2RlZmluZSAgIEdFTjhfRE9QX0NMT0NL X0dBVEVfQ0ZDTEtfRU5BQkxFCSgxPDwyKQorI2RlZmluZSAgIEdFTjhfRE9QX0NMT0NLX0dBVEVf R1VDX0VOQUJMRQkoMTw8NCkKIAogLyogSVZZQlJJREdFIERQRiAqLwogI2RlZmluZSBHRU43X0wz Q0RFUlJTVDEJCQkweEIwMDggLyogTDNDRCBFcnJvciBTdGF0dXMgMSAqLwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9ndWMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MjM2N2M5Ci0t LSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKQEAgLTAs MCArMSwxNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgwqkgMjAxNCBJbnRlbCBDb3Jwb3JhdGlvbgor ICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh bnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29j aWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVhbCBp biB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGlt aXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxp c2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhl IFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNvZnR3YXJl IGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlv bnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lv biBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAorICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNs dWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQorICogU29m dHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg V0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBC VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICog RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElO IE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBM SUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICogTElBQklMSVRZLCBXSEVU SEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcK KyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRI RSBVU0UgT1IgT1RIRVIgREVBTElOR1MKKyAqIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKi8KKyNp Zm5kZWYgX0lOVEVMX0dVQ19IXworI2RlZmluZSBfSU5URUxfR1VDX0hfCisKKyNpbmNsdWRlICJp bnRlbF9ndWNfYXBpLmgiCisjaW5jbHVkZSAiaW50ZWxfdWNfbG9hZGVyLmgiCisKKyNkZWZpbmUg R1VDX0RCX1NJWkUJUEFHRV9TSVpFCisjZGVmaW5lIEdVQ19XUV9TSVpFCShQQUdFX1NJWkUgKiAy KQorCitzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50IHsKKwlzcGlubG9ja190IHdxX2xvY2s7CisJc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmNsaWVudF9vYmo7CisJdTMyIHByaW9yaXR5OworCW9m Zl90IGRvb3JiZWxsX29mZnNldDsKKwlvZmZfdCBwcm9jX2Rlc2Nfb2Zmc2V0OworCW9mZl90IHdx X29mZnNldDsKKwl1aW50MTZfdCBkb29yYmVsbF9pZDsKKwl1aW50MzJfdCBjdHhfaW5kZXg7CisJ dWludDMyX3Qgd3Ffc2l6ZTsKKwl1aW50MzJfdCB3cV90YWlsOworCXVpbnQzMl90IGNvb2tpZTsK KworCS8qIEd1QyBzdWJtaXNzaW9uIHN0YXRpc3RpY3MgJiBzdGF0dXMgKi8KKwl1aW50NjRfdCBz dWJtaXNzaW9uczsKKwl1aW50MzJfdCBxX2ZhaWw7CisJdWludDMyX3QgYl9mYWlsOworCWludCBy ZXRjb2RlOworfTsKKworI2RlZmluZSBJOTE1X01BWF9ET09SQkVMTFMJMjU2CisjZGVmaW5lIElO VkFMSURfRE9PUkJFTExfSUQJSTkxNV9NQVhfRE9PUkJFTExTCisKKyNkZWZpbmUgSU5WQUxJRF9D VFhfSUQJCShNQVhfR1VDX0dQVV9DT05URVhUUysxKQorCitzdHJ1Y3QgaW50ZWxfZ3VjIHsKKwkv KiBHZW5lcmljIHVDIGZpcm13YXJlIG1hbmFnZW1lbnQgKi8KKwlzdHJ1Y3QgaW50ZWxfdWNfZncg Z3VjX2Z3OworCisJLyogR3VDLXNwZWNpZmljIGFkZGl0aW9ucyAqLworCXVpbnQzMl90IGZ3X3Zl cl9tYWpvcjsKKwl1aW50MzJfdCBmd192ZXJfbWlub3I7CisKKwlzcGlubG9ja190IGhvc3QyZ3Vj X2xvY2s7CisKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqY3R4X3Bvb2xfb2JqOworCXN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpsb2dfb2JqOworCXN0cnVjdCBpOTE1X2d1Y19jbGll bnQgKmV4ZWNidWZfY2xpZW50OworCisJc3RydWN0IGlkYSBjdHhfaWRzOworCXVpbnQzMl90IGxv Z19mbGFnczsKKwlpbnQgZGJfY2FjaGVsaW5lOworCURFQ0xBUkVfQklUTUFQKGRvb3JiZWxsX2Jp dG1hcCwgSTkxNV9NQVhfRE9PUkJFTExTKTsKKworCS8qIEFjdGlvbiBzdGF0dXMgJiBzdGF0aXN0 aWNzICovCisJdWludDY0X3QgYWN0aW9uX2NvdW50OwkJLyogVG90YWwgY29tbWFuZHMgaXNzdWVk CSovCisJdWludDMyX3QgYWN0aW9uX2NtZDsJCS8qIExhc3QgY29tbWFuZCB3b3JkCQkqLworCXVp bnQzMl90IGFjdGlvbl9zdGF0dXM7CQkvKiBMYXN0IHJldHVybiBzdGF0dXMJCSovCisJdWludDMy X3QgYWN0aW9uX2ZhaWw7CQkvKiBUb3RhbCBudW1iZXIgb2YgZmFpbHVyZXMJKi8KKwlpbnQzMl90 IGFjdGlvbl9lcnI7CQkvKiBMYXN0IGVycm9yIGNvZGUJCSovCit9OworCisvKiBTaXplcyBvZiB0 aGUgcGFydHMgb2YgdGhlIEd1QyBsb2cgb2JqZWN0IChpZiByZXF1aXJlZCkgKi8KKyNkZWZpbmUg R1VDX0xPR19EUENfUEFHRVMJMworI2RlZmluZSBHVUNfTE9HX0lTUl9QQUdFUwkzCisjZGVmaW5l IEdVQ19MT0dfQ1JBU0hfUEFHRVMJMQorCisjZGVmaW5lIEdVQ19TVEFUVVMJCTB4YzAwMAorI2Rl ZmluZSAgIEdTX0JPT1RST01fU0hJRlQJMQorI2RlZmluZSAgIEdTX0JPT1RST01fTUFTSwkoMHg3 RiA8PCBHU19CT09UUk9NX1NISUZUKQorI2RlZmluZSAgIEdTX0JPT1RST01fUlNBX0ZBSUxFRAko MHg1MCA8PCBHU19CT09UUk9NX1NISUZUKQorI2RlZmluZSAgIEdTX1VLRVJORUxfU0hJRlQJOAor I2RlZmluZSAgIEdTX1VLRVJORUxfTUFTSwkoMHhGRiA8PCBHU19VS0VSTkVMX1NISUZUKQorI2Rl ZmluZSAgIEdTX1VLRVJORUxfTEFQSUNfRE9ORQkoMHgzMCA8PCBHU19VS0VSTkVMX1NISUZUKQor I2RlZmluZSAgIEdTX1VLRVJORUxfRFBDX0VSUk9SCSgweDYwIDw8IEdTX1VLRVJORUxfU0hJRlQp CisjZGVmaW5lICAgR1NfVUtFUk5FTF9SRUFEWQkoMHhGMCA8PCBHU19VS0VSTkVMX1NISUZUKQor I2RlZmluZSAgIEdTX01JQV9TSElGVAkJMTYKKyNkZWZpbmUgICBHU19NSUFfTUFTSwkJKDB4NyA8 PCBHU19NSUFfU0hJRlQpCisKKyNkZWZpbmUgR1VDX1dPUENNX1NJWkUJCTB4YzA1MAorI2RlZmlu ZSAgIEdVQ19XT1BDTV9TSVpFX1ZBTFVFICAoMHg4MCA8PCAxMikJLyogNTEyS0IgKi8KKyNkZWZp bmUgICBHVUNfV09QQ01fT0ZGU0VUCTB4ODAwMDAJCS8qIDUxMktCICovCisjZGVmaW5lIFNPRlRf U0NSQVRDSChuKQkJKDB4YzE4MCArICgobikgKiA0KSkKKworI2RlZmluZSBVT1NfQ1NTX0hFQURF Ul9PRkZTRVQJMAorI2RlZmluZSBVT1NfQ1NTX0hFQURFUl9TSVpFCTB4ODAKKyNkZWZpbmUgICBV T1NfVkVSX01JTk9SX09GRlNFVAkweDQ0CisjZGVmaW5lICAgVU9TX1ZFUl9NQUpPUl9PRkZTRVQJ MHg0NgorI2RlZmluZSBVT1NfUlNBX1NJR19TSVpFCTB4MTAwCisjZGVmaW5lIFVPU19DU1NfU0lH TklOR19TSVpFCTB4MjA0CisKKyNkZWZpbmUgVU9TX1JTQV9TQ1JBVENIXzAJMHhjMjAwCisjZGVm aW5lIERNQV9BRERSXzBfTE9XCQkweGMzMDAKKyNkZWZpbmUgRE1BX0FERFJfMF9ISUdICQkweGMz MDQKKyNkZWZpbmUgRE1BX0FERFJfMV9MT1cJCTB4YzMwOAorI2RlZmluZSBETUFfQUREUl8xX0hJ R0gJCTB4YzMwYworI2RlZmluZSAgIERNQV9BRERSRVNTX1NQQUNFX1dPUENNCSg3IDw8IDE2KQor I2RlZmluZSAgIERNQV9BRERSRVNTX1NQQUNFX0dUVAkJKDggPDwgMTYpCisjZGVmaW5lIERNQV9D T1BZX1NJWkUJCTB4YzMxMAorI2RlZmluZSBETUFfQ1RSTAkJMHhjMzE0CisjZGVmaW5lICAgVU9T X01PVkUJCSgxPDw0KQorI2RlZmluZSAgIFNUQVJUX0RNQQkJKDE8PDApCisjZGVmaW5lIERNQV9H VUNfV09QQ01fT0ZGU0VUCTB4YzM0MAorCisjZGVmaW5lIEdFTjhfR1RfUE1fQ09ORklHCQkweDEz ODE0MAorI2RlZmluZSBHRU45X0dUX1BNX0NPTkZJRwkJMHgxMzgxNmMKKyNkZWZpbmUgICBHRU44 X0dUX0RPT1JCRUxMX0VOQUJMRQkoMTw8MCkKKworI2RlZmluZSBHRU44X0dUQ1IgMHg0Mjc0Cisj ZGVmaW5lICAgR0VOOF9HVENSX0lOVkFMSURBVEUgKDE8PDApCisKKyNkZWZpbmUgR1VDX0FSQVRf QzZESVMJCTB4QTE3OAorCisjZGVmaW5lIEdVQ19TSElNX0NPTlRST0wJKDB4YzA2NCkKKyNkZWZp bmUgICBHVUNfRElTQUJMRV9TUkFNX0lOSVRfVE9fWkVST0VTCSgxPDwwKQorI2RlZmluZSAgIEdV Q19FTkFCTEVfUkVBRF9DQUNIRV9MT0dJQwkJKDE8PDEpCisjZGVmaW5lICAgR1VDX0VOQUJMRV9N SUFfQ0FDSElORwkJKDE8PDIpCisjZGVmaW5lICAgR1VDX0dFTjEwX01TR0NIX0VOQUJMRQkJKDE8 PDQpCisjZGVmaW5lICAgR1VDX0VOQUJMRV9SRUFEX0NBQ0hFX0ZPUl9TUkFNX0RBVEEJKDE8PDkp CisjZGVmaW5lICAgR1VDX0VOQUJMRV9SRUFEX0NBQ0hFX0ZPUl9XT1BDTV9EQVRBCSgxPDwxMCkK KyNkZWZpbmUgICBHVUNfRU5BQkxFX01JQV9DTE9DS19HQVRJTkcJCSgxPDwxNSkKKyNkZWZpbmUg ICBHVUNfR0VOMTBfU0hJTV9XQ19FTkFCTEUJCSgxPDwyMSkKKworI2RlZmluZSBHVUNfU0hJTV9D T05UUk9MX1ZBTFVFCShHVUNfRElTQUJMRV9TUkFNX0lOSVRfVE9fWkVST0VTIHwgXAorCQkJCSBH VUNfRU5BQkxFX1JFQURfQ0FDSEVfTE9HSUMgfCBcCisJCQkJIEdVQ19FTkFCTEVfTUlBX0NBQ0hJ TkcgfCBcCisJCQkJIEdVQ19FTkFCTEVfUkVBRF9DQUNIRV9GT1JfU1JBTV9EQVRBIHwgXAorCQkJ CSBHVUNfRU5BQkxFX1JFQURfQ0FDSEVfRk9SX1dPUENNX0RBVEEpCisKKyNkZWZpbmUgSE9TVDJH VUNfSU5URVJSVVBUCTB4YzRjOAorI2RlZmluZSAgIEhPU1QyR1VDX1RSSUdHRVIJKDE8PDApCisK KyNkZWZpbmUgRFJCTUlTQzEJCTB4MTk4NAorI2RlZmluZSAgIERPT1JCRUxMX0VOQUJMRQkoMTw8 MCkKKworI2RlZmluZSBHRU44X0RSQlJFR0woeCkgKDB4MTAwMCArICh4KSAqIDgpCisjZGVmaW5l ICAgR0VOOF9EUkJfVkFMSUQgKDE8PDApCisjZGVmaW5lIEdFTjhfRFJCUkVHVSh4KSAoMHgxMDAw ICsgKHgpICogOCArIDQpCisKKyNkZWZpbmUgREVfR1VDUk1SCQkweDQ0MDU0CisKKyNkZWZpbmUg R1VDX0JDU19SQ1NfSUVSCQkweEM1NTAKKyNkZWZpbmUgR1VDX1ZDUzJfVkNTMV9JRVIJMHhDNTU0 CisjZGVmaW5lIEdVQ19XRF9WRUNTX0lFUgkJMHhDNTU4CisjZGVmaW5lIEdVQ19QTV9QMjRDX0lF UgkJMHhDNTVDCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZ3VjX2FwaS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2FwaS5oCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmMmNmZjIKLS0tIC9kZXYvbnVsbAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfYXBpLmgKQEAgLTAsMCArMSwyMjcgQEAK Ky8qCisgKiBDb3B5cmlnaHQgwqkgMjAxNCBJbnRlbCBDb3Jwb3JhdGlvbgorICoKKyAqIFBlcm1p c3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9i dGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1l bnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVhbCBpbiB0aGUgU29mdHdh cmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgorICog dGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1 dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBh bmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hl ZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICog VGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGlu Y2x1ZGluZyB0aGUgbmV4dAorICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwg Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQorICogU29mdHdhcmUuCisgKgor ICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0Yg QU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlU RUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNI QUxMCisgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFO WSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFD VElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKyAqIEZST00sIE9V VCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RI RVIgREVBTElOR1MKKyAqIElOIFRIRSBTT0ZUV0FSRS4KKyAqLworI2lmbmRlZiBfSU5URUxfR1VD X0FQSV9ICisjZGVmaW5lIF9JTlRFTF9HVUNfQVBJX0gKKworI2RlZmluZSBHRlhDT1JFX0ZBTUlM WV9HRU44CQkxMQorI2RlZmluZSBHRlhDT1JFX0ZBTUlMWV9HRU45CQkxMgorI2RlZmluZSBHRlhD T1JFX0ZBTUlMWV9GT1JDRV9VTE9ORwkweDdmZmZmZmZmCisKKyNkZWZpbmUgR1VDX0NUWF9QUklP UklUWV9DUklUSUNBTAkwCisjZGVmaW5lIEdVQ19DVFhfUFJJT1JJVFlfSElHSAkJMQorI2RlZmlu ZSBHVUNfQ1RYX1BSSU9SSVRZX05PUk1BTAkJMgorI2RlZmluZSBHVUNfQ1RYX1BSSU9SSVRZX0xP VwkJMworCisjZGVmaW5lIE1BWF9HVUNfR1BVX0NPTlRFWFRTCQkxMDI0CisKKy8qIFdvcmsgcXVl dWUgaXRlbSBoZWFkZXIgZGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgV1FfU1RBVFVTX0FDVElWRQkJ MQorI2RlZmluZSBXUV9TVEFUVVNfU1VTUEVOREVECQkyCisjZGVmaW5lIFdRX1NUQVRVU19DTURf RVJST1IJCTMKKyNkZWZpbmUgV1FfU1RBVFVTX0VOR0lORV9JRF9OT1RfVVNFRAk0CisjZGVmaW5l IFdRX1NUQVRVU19TVVNQRU5ERURfRlJPTV9SRVNFVAk1CisjZGVmaW5lIFdRX1RZUEVfU0hJRlQJ CQkwCisjZGVmaW5lICAgV1FfVFlQRV9CQVRDSF9CVUYJCSgweDEgPDwgV1FfVFlQRV9TSElGVCkK KyNkZWZpbmUgICBXUV9UWVBFX1BTRVVETwkJKDB4MiA8PCBXUV9UWVBFX1NISUZUKQorI2RlZmlu ZSAgIFdRX1RZUEVfSU5PUkRFUgkJKDB4MyA8PCBXUV9UWVBFX1NISUZUKQorI2RlZmluZSBXUV9U QVJHRVRfU0hJRlQJCQkxMAorI2RlZmluZSBXUV9MRU5fU0hJRlQJCQkxNgorI2RlZmluZSBXUV9O T19XQ0ZMVVNIX1dBSVQJCSgxIDw8IDI3KQorI2RlZmluZSBXUV9QUkVTRU5UX1dPUktMT0FECQko MSA8PCAyOCkKKyNkZWZpbmUgV1FfV09SS0xPQURfU0hJRlQJCTI5CisjZGVmaW5lICAgV1FfV09S S0xPQURfR0VORVJBTAkJKDAgPDwgV1FfV09SS0xPQURfU0hJRlQpCisjZGVmaW5lICAgV1FfV09S S0xPQURfR1BHUFUJCSgxIDw8IFdRX1dPUktMT0FEX1NISUZUKQorI2RlZmluZSAgIFdRX1dPUktM T0FEX1RPVUNICQkoMiA8PCBXUV9XT1JLTE9BRF9TSElGVCkKKworI2RlZmluZSBXUV9SSU5HX1RB SUxfU0hJRlQJCTIwCisjZGVmaW5lIFdRX1JJTkdfVEFJTF9NQVNLCQkoMHg3RkYgPDwgV1FfUklO R19UQUlMX1NISUZUKQorCisjZGVmaW5lIEdVQ19ET09SQkVMTF9FTkFCTEVECQkxCisjZGVmaW5l IEdVQ19ET09SQkVMTF9ESVNBQkxFRAkJMAorCisjZGVmaW5lIEdVQ19DVFhfREVTQ19BVFRSX0FD VElWRQkoMSA8PCAwKQorI2RlZmluZSBHVUNfQ1RYX0RFU0NfQVRUUl9QRU5ESU5HX0RCCSgxIDw8 IDEpCisjZGVmaW5lIEdVQ19DVFhfREVTQ19BVFRSX0tFUk5FTAkoMSA8PCAyKQorI2RlZmluZSBH VUNfQ1RYX0RFU0NfQVRUUl9QUkVFTVBUCSgxIDw8IDMpCisjZGVmaW5lIEdVQ19DVFhfREVTQ19B VFRSX1JFU0VUCQkoMSA8PCA0KQorI2RlZmluZSBHVUNfQ1RYX0RFU0NfQVRUUl9XUUxPQ0tFRAko MSA8PCA1KQorI2RlZmluZSBHVUNfQ1RYX0RFU0NfQVRUUl9QQ0gJCSgxIDw8IDYpCisKKy8qIFRo ZSBndWMgY29udHJvbCBkYXRhIGlzIDEwIERXT1JEcyAqLworI2RlZmluZSBHVUNfQ1RMX0NUWElO Rk8JCQkwCisjZGVmaW5lICAgR1VDX0NUTF9DVFhOVU1fSU4xNl9TSElGVAkwCisjZGVmaW5lICAg R1VDX0NUTF9CQVNFX0FERFJfU0hJRlQJMTIKKyNkZWZpbmUgR1VDX0NUTF9BUkFUX0hJR0gJCTEK KyNkZWZpbmUgR1VDX0NUTF9BUkFUX0xPVwkJMgorI2RlZmluZSBHVUNfQ1RMX0RFVklDRV9JTkZP CQkzCisjZGVmaW5lICAgR1VDX0NUTF9HVFRZUEVfU0hJRlQJCTAKKyNkZWZpbmUgICBHVUNfQ1RM X0NPUkVGQU1JTFlfU0hJRlQJNworI2RlZmluZSBHVUNfQ1RMX0xPR19QQVJBTVMJCTQKKyNkZWZp bmUgICBHVUNfTE9HX1ZBTElECQkJKDEgPDwgMCkKKyNkZWZpbmUgICBHVUNfTE9HX05PVElGWV9P Tl9IQUxGX0ZVTEwJKDEgPDwgMSkKKyNkZWZpbmUgICBHVUNfTE9HX0FMTE9DX0lOX01FR0FCWVRF CSgxIDw8IDMpCisjZGVmaW5lICAgR1VDX0xPR19DUkFTSF9TSElGVAkJNAorI2RlZmluZSAgIEdV Q19MT0dfRFBDX1NISUZUCQk2CisjZGVmaW5lICAgR1VDX0xPR19JU1JfU0hJRlQJCTkKKyNkZWZp bmUgICBHVUNfTE9HX0JVRl9BRERSX1NISUZUCTEyCisjZGVmaW5lIEdVQ19DVExfUEFHRV9GQVVM VF9DT05UUk9MCTUKKyNkZWZpbmUgR1VDX0NUTF9XQQkJCTYKKyNkZWZpbmUgICBHVUNfQ1RMX1dB X1VLX0JZX0RSSVZFUgkoMSA8PCAzKQorI2RlZmluZSBHVUNfQ1RMX0ZFQVRVUkUJCQk3CisjZGVm aW5lICAgR1VDX0NUTF9WQ1MyX0VOQUJMRUQJCSgxIDw8IDApCisjZGVmaW5lICAgR1VDX0NUTF9L RVJORUxfU1VCTUlTU0lPTlMJKDEgPDwgMSkKKyNkZWZpbmUgICBHVUNfQ1RMX0ZFQVRVUkUyCQko MSA8PCAyKQorI2RlZmluZSAgIEdVQ19DVExfUE9XRVJfR0FUSU5HCQkoMSA8PCAzKQorI2RlZmlu ZSAgIEdVQ19DVExfRElTQUJMRV9TQ0hFRFVMRVIJKDEgPDwgNCkKKyNkZWZpbmUgICBHVUNfQ1RM X1BSRUVNUFRJT05fTE9HCSgxIDw8IDUpCisjZGVmaW5lICAgR1VDX0NUTF9FTkFCTEVfU0xQQwkJ KDEgPDwgNykKKyNkZWZpbmUgR1VDX0NUTF9ERUJVRwkJCTgKKyNkZWZpbmUgICBHVUNfTE9HX1ZF UkJPU0lUWV9TSElGVAkwCisjZGVmaW5lICAgR1VDX0xPR19WRVJCT1NJVFlfTE9XCQkoMCA8PCBH VUNfTE9HX1ZFUkJPU0lUWV9TSElGVCkKKyNkZWZpbmUgICBHVUNfTE9HX1ZFUkJPU0lUWV9NRUQJ CSgxIDw8IEdVQ19MT0dfVkVSQk9TSVRZX1NISUZUKQorI2RlZmluZSAgIEdVQ19MT0dfVkVSQk9T SVRZX0hJR0gJKDIgPDwgR1VDX0xPR19WRVJCT1NJVFlfU0hJRlQpCisjZGVmaW5lICAgR1VDX0xP R19WRVJCT1NJVFlfVUxUUkEJKDMgPDwgR1VDX0xPR19WRVJCT1NJVFlfU0hJRlQpCisvKiBWZXJi b3NpdHkgcmFuZ2UtY2hlY2sgbGltaXRzLCB3aXRob3V0IHRoZSBzaGlmdCAqLworI2RlZmluZQkg IEdVQ19MT0dfVkVSQk9TSVRZX01JTgkJMAorI2RlZmluZQkgIEdVQ19MT0dfVkVSQk9TSVRZX01B WAkJMworCisjZGVmaW5lIEdVQ19DVExfTUFYX0RXT1JEUwkJKEdVQ19DVExfREVCVUcgKyAxKQor CitzdHJ1Y3QgZ3VjX2Rvb3JiZWxsX2luZm8geworCXUzMiBkYl9zdGF0dXM7CisJdTMyIGNvb2tp ZTsKKwl1MzIgcmVzZXJ2ZWRbMTRdOworfSBfX3BhY2tlZDsKKwordW5pb24gZ3VjX2Rvb3JiZWxs X3F3IHsKKwlzdHJ1Y3QgeworCQl1MzIgZGJfc3RhdHVzOworCQl1MzIgY29va2llOworCX07CisJ dTY0IHZhbHVlX3F3OworfSBfX3BhY2tlZDsKKworc3RydWN0IGd1Y19wcm9jZXNzX2Rlc2Mgewor CXUzMiBjb250ZXh0X2lkOworCXU2NCBkYl9iYXNlX2FkZHI7CisJdTMyIGhlYWQ7CisJdTMyIHRh aWw7CisJdTMyIGVycm9yX29mZnNldDsKKwl1NjQgd3FfYmFzZV9hZGRyOworCXUzMiB3cV9zaXpl X2J5dGVzOworCXUzMiB3cV9zdGF0dXM7CisJdTMyIGVuZ2luZV9wcmVzZW5jZTsKKwl1MzIgcHJp b3JpdHk7CisJdTMyIHJlc2VydmVkWzMwXTsKK30gX19wYWNrZWQ7CisKKy8qIFdvcmsgaXRlbSBm b3Igc3VibWl0dGluZyB3b3JrbG9hZHMgaW50byB3b3JrIHF1ZXVlIG9mIEd1Qy4gKi8KK3N0cnVj dCBndWNfd3FfaXRlbSB7CisJdTMyIGhlYWRlcjsKKwl1MzIgY29udGV4dF9kZXNjOworCXUzMiBy aW5nX3RhaWw7CisJdTMyIGZlbmNlX2lkOworfSBfX3BhY2tlZDsKKworLyogZW5naW5lIGlkIGFu ZCBjb250ZXh0IGlkIGlzIHBhY2tlZCBpbnRvIGd1Y19leGVjbGlzdF9jb250ZXh0LmNvbnRleHRf aWQqLworI2RlZmluZSBHVUNfRUxDX0NUWElEX09GRlNFVAkJMAorI2RlZmluZSBHVUNfRUxDX0VO R0lORV9PRkZTRVQJCTI5CisKKy8qIFRoZSBleGVjbGlzdCBjb250ZXh0IGluY2x1ZGluZyBzb2Z0 d2FyZSBhbmQgSFcgaW5mb3JtYXRpb24gKi8KK3N0cnVjdCBndWNfZXhlY2xpc3RfY29udGV4dCB7 CisJdTMyIGNvbnRleHRfZGVzYzsKKwl1MzIgY29udGV4dF9pZDsKKwl1MzIgcmluZ19zdGF0dXM7 CisJdTMyIHJpbmdfbGNyYTsKKwl1MzIgcmluZ19iZWdpbjsKKwl1MzIgcmluZ19lbmQ7CisJdTMy IHJpbmdfbmV4dF9mcmVlX2xvY2F0aW9uOworCXUzMiByaW5nX2N1cnJlbnRfdGFpbF9wb2ludGVy X3ZhbHVlOworCXU4IGVuZ2luZV9zdGF0ZV9zdWJtaXRfdmFsdWU7CisJdTggZW5naW5lX3N0YXRl X3dhaXRfdmFsdWU7CisJdTE2IHBhZ2VmYXVsdF9jb3VudDsKKwl1MTYgZW5naW5lX3N1Ym1pdF9x dWV1ZV9jb3VudDsKK30gX19wYWNrZWQ7CisKKy8qQ29udGV4dCBkZXNjcmlwdG9yIGZvciBjb21t dW5pY2F0aW5nIGJldHdlZW4gdUtlcm5lbCBhbmQgRHJpdmVyKi8KK3N0cnVjdCBndWNfY29udGV4 dF9kZXNjIHsKKwl1MzIgc2NoZWRfY29tbW9uX2FyZWE7CisJdTMyIGNvbnRleHRfaWQ7CisJdTMy IHBhc19pZDsKKwl1OCBlbmdpbmVzX3VzZWQ7CisJdTY0IGRiX3RyaWdnZXJfY3B1OworCXUzMiBk Yl90cmlnZ2VyX3VrOworCXU2NCBkYl90cmlnZ2VyX3BoeTsKKwl1MTYgZGJfaWQ7CisKKwlzdHJ1 Y3QgZ3VjX2V4ZWNsaXN0X2NvbnRleHQgbHJjW0k5MTVfTlVNX1JJTkdTXTsKKworCXU4IGF0dHJp YnV0ZTsKKworCXUzMiBwcmlvcml0eTsKKworCXUzMiB3cV9zYW1wbGVkX3RhaWxfb2Zmc2V0Owor CXUzMiB3cV90b3RhbF9zdWJtaXRfZW5xdWV1ZXM7CisKKwl1MzIgcHJvY2Vzc19kZXNjOworCXUz MiB3cV9hZGRyOworCXUzMiB3cV9zaXplOworCisJdTMyIGVuZ2luZV9wcmVzZW5jZTsKKworCXUz MiByZXNlcnZlZDBbMV07CisJdTY0IHJlc2VydmVkMVsxXTsKKworCXU2NCBkZXNjX3ByaXZhdGU7 Cit9IF9fcGFja2VkOworCisvKiBUaGlzIEFjdGlvbiB3aWxsIGJlIHByb2dyYW1tZWQgaW4gQzE4 MCAtIFNPRlRfU0NSQVRDSF9PX1JFRyAqLworZW51bSBob3N0Mmd1Y19hY3Rpb24geworCUhPU1Qy R1VDX0FDVElPTl9ERUZBVUxUID0gMHgwLAorCUhPU1QyR1VDX0FDVElPTl9TQU1QTEVfRk9SQ0VX QUtFID0gMHg2LAorCUhPU1QyR1VDX0FDVElPTl9BTExPQ0FURV9ET09SQkVMTCA9IDB4MTAsCisJ SE9TVDJHVUNfQUNUSU9OX0RFQUxMT0NBVEVfRE9PUkJFTEwgPSAweDIwLAorCUhPU1QyR1VDX0FD VElPTl9TTFBDX1JFUVVFU1QgPSAweDMwMDMsCisJSE9TVDJHVUNfQUNUSU9OX0xJTUlUCit9Owor CisvKgorICogVGhlIEd1QyBzZW5kcyBpdHMgcmVzcG9uc2UgdG8gYSBjb21tYW5kIGJ5IG92ZXJ3 cml0aW5nIHRoZQorICogY29tbWFuZCBpbiBTUzAuIFRoZSByZXNwb25zZSBpcyBkaXN0aW5ndWlz aGFibGUgZnJvbSBhIGNvbW1hbmQKKyAqIGJ5IHRoZSBmYWN0IHRoYXQgYWxsIHRoZSBNQVNLIGJp dHMgYXJlIHNldC4gVGhlIHJlbWFpbmluZyBiaXRzCisgKiBnaXZlIG1vcmUgZGV0YWlsLgorICov CisjZGVmaW5lCUdVQzJIT1NUX1JFU1BPTlNFX01BU0sJMHhGMDAwMDAwMAorI2RlZmluZQlHVUMy SE9TVF9JU19SRVNQT05TRSh4KSBcCisJKCgoeCkgJiBHVUMySE9TVF9SRVNQT05TRV9NQVNLKSA9 PSBHVUMySE9TVF9SRVNQT05TRV9NQVNLKQorI2RlZmluZQlHVUMySE9TVF9TVEFUVVMoeCkJKEdV QzJIT1NUX1JFU1BPTlNFX01BU0sgfCAoeCkpCisKKy8qIEdVQyB3aWxsIHJldHVybiBzdGF0dXMg YmFjayB0byBTT0ZUX1NDUkFUQ0hfT19SRUcgKi8KK2VudW0gZ3VjMmhvc3Rfc3RhdHVzIHsKKwlH VUMySE9TVF9TVEFUVVNfU1VDQ0VTUyA9IEdVQzJIT1NUX1NUQVRVUygweDApLAorCUdVQzJIT1NU X1NUQVRVU19BTExPQ0FURV9ET09SQkVMTF9GQUlMID0gR1VDMkhPU1RfU1RBVFVTKDB4MTApLAor CUdVQzJIT1NUX1NUQVRVU19ERUFMTE9DQVRFX0RPT1JCRUxMX0ZBSUwgPSBHVUMySE9TVF9TVEFU VVMoMHgyMCksCisJR1VDMkhPU1RfU1RBVFVTX0dFTkVSSUNfRkFJTCA9IEdVQzJIT1NUX1NUQVRV UygweDAwMDBGMDAwKQorfTsKKworI2VuZGlmCi0tIAoxLjcuOS41CgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=