From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Bragg Subject: [PATCH 4/9] drm/i915: Add 'render basic' Haswell OA unit config Date: Wed, 20 Apr 2016 15:23:09 +0100 Message-ID: <1461162194-1424-5-git-send-email-robert@sixbynine.org> References: <1461162194-1424-1-git-send-email-robert@sixbynine.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1461162194-1424-1-git-send-email-robert@sixbynine.org> 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 Cc: David Airlie , dri-devel@lists.freedesktop.org, Sourab Gupta , Deepak S , Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org QWRkcyBhIHN0YXRpYyBPQSB1bml0LCBNVVggKyBCIENvdW50ZXIgY29uZmlndXJhdGlvbiBmb3Ig YmFzaWMgcmVuZGVyCm1ldHJpY3Mgb24gSGFzd2VsbC4gVGhpcyBpcyBhdXRvZ2VuZXJhdGVkIGZy b20gYW4gaW50ZXJuYWwgWE1MCmRlc2NyaXB0aW9uIG9mIG1ldHJpYyBzZXRzLgoKU2lnbmVkLW9m Zi1ieTogUm9iZXJ0IEJyYWdnIDxyb2JlcnRAc2l4YnluaW5lLm9yZz4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9NYWtlZmlsZSAgICAgIHwgICAzICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oICAgIHwgIDE0ICsrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfb2FfaHN3 LmMgfCAxMzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9vYV9oc3cuaCB8ICAzNCArKysrKysrKysrCiA0IGZpbGVzIGNoYW5n ZWQsIDE4MiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9vYV9oc3cuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfb2FfaHN3LmgKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCmluZGV4 IDJmN2VmNzEuLjJhM2RjNjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2Vm aWxlCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCkBAIC05OSw3ICs5OSw4IEBA IGk5MTUteSArPSBkdm9fY2g3MDE3Lm8gXAogaTkxNS15ICs9IGk5MTVfdmdwdS5vCiAKICMgcGVy ZiBjb2RlCi1pOTE1LXkgKz0gaTkxNV9wZXJmLm8KK2k5MTUteSArPSBpOTE1X3BlcmYubyBcCisJ ICBpOTE1X29hX2hzdy5vCiAKICMgbGVnYWN5IGhvcnJvcnMKIGk5MTUteSArPSBpOTE1X2RtYS5v CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA1YTJhNGQ2Li41ZTk1OWYzIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmgKQEAgLTE3MDgsNiArMTcwOCwxMSBAQCBzdHJ1Y3QgaW50ZWxfd21fY29u ZmlnIHsKIAlib29sIHNwcml0ZXNfc2NhbGVkOwogfTsKIAorc3RydWN0IGk5MTVfb2FfcmVnIHsK Kwl1MzIgYWRkcjsKKwl1MzIgdmFsdWU7Cit9OworCiBzdHJ1Y3QgaTkxNV9wZXJmX3JlYWRfc3Rh dGUgewogCWludCBjb3VudDsKIAlzc2l6ZV90IHJlYWQ7CkBAIC0yMDU2LDYgKzIwNjEsMTUgQEAg c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewogCQlib29sIGluaXRpYWxpemVkOwogCQlzdHJ1Y3Qg bXV0ZXggbG9jazsKIAkJc3RydWN0IGxpc3RfaGVhZCBzdHJlYW1zOworCisJCXN0cnVjdCB7CisJ CQl1MzIgbWV0cmljc19zZXQ7CisKKwkJCWNvbnN0IHN0cnVjdCBpOTE1X29hX3JlZyAqbXV4X3Jl Z3M7CisJCQlpbnQgbXV4X3JlZ3NfbGVuOworCQkJY29uc3Qgc3RydWN0IGk5MTVfb2FfcmVnICpi X2NvdW50ZXJfcmVnczsKKwkJCWludCBiX2NvdW50ZXJfcmVnc19sZW47CisJCX0gb2E7CiAJfSBw ZXJmOwogCiAJLyogQWJzdHJhY3QgdGhlIHN1Ym1pc3Npb24gbWVjaGFuaXNtIChsZWdhY3kgcmlu Z2J1ZmZlciBvciBleGVjbGlzdHMpIGF3YXkgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfb2FfaHN3LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X29hX2hzdy5j Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0NzJhYTAKLS0tIC9kZXYvbnVs bAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X29hX2hzdy5jCkBAIC0wLDAgKzEsMTMy IEBACisvKgorICogQXV0b2dlbmVyYXRlZCBmaWxlLCBETyBOT1QgRURJVCBtYW51YWxseSEKKyAq CisgKiBDb3B5cmlnaHQgKGMpIDIwMTUgSW50ZWwgQ29ycG9yYXRpb24KKyAqCisgKiBQZXJtaXNz aW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRh aW5pbmcgYQorICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50 YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJl IHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KKyAqIHRo ZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRl LCBzdWJsaWNlbnNlLAorICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5k IHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCisgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQg dG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRo ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNs dWRpbmcgdGhlIG5leHQKKyAqIHBhcmFncmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNv cGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUKKyAqIFNvZnR3YXJlLgorICoKKyAq IFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO WSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE IFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFM TAorICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkg Q0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJ T04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisgKiBGUk9NLCBPVVQg T0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVS IERFQUxJTkdTCisgKiBJTiBUSEUgU09GVFdBUkUuCisgKgorICovCisKKyNpbmNsdWRlICJpOTE1 X2Rydi5oIgorCitlbnVtIG1ldHJpY19zZXRfaWQgeworCU1FVFJJQ19TRVRfSURfUkVOREVSX0JB U0lDID0gMSwKK307CisKK2ludCBpOTE1X29hX25fYnVpbHRpbl9tZXRyaWNfc2V0c19oc3cgPSAx OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfb2FfcmVnIGJfY291bnRlcl9jb25maWdfcmVu ZGVyX2Jhc2ljW10gPSB7CisJeyBfTU1JTygweDI3MjQpLCAweDAwODAwMDAwIH0sCisJeyBfTU1J TygweDI3MjApLCAweDAwMDAwMDAwIH0sCisJeyBfTU1JTygweDI3MTQpLCAweDAwODAwMDAwIH0s CisJeyBfTU1JTygweDI3MTApLCAweDAwMDAwMDAwIH0sCit9OworCitzdGF0aWMgY29uc3Qgc3Ry dWN0IGk5MTVfb2FfcmVnIG11eF9jb25maWdfcmVuZGVyX2Jhc2ljW10gPSB7CisJeyBfTU1JTygw eDI1M0E0KSwgMHgwMTYwMDAwMCB9LAorCXsgX01NSU8oMHgyNTQ0MCksIDB4MDAxMDAwMDAgfSwK Kwl7IF9NTUlPKDB4MjUxMjgpLCAweDAwMDAwMDAwIH0sCisJeyBfTU1JTygweDI2OTFDKSwgMHgw MDAwMDgwMCB9LAorCXsgX01NSU8oMHgyNkFBMCksIDB4MDE1MDAwMDAgfSwKKwl7IF9NTUlPKDB4 MjZCOUMpLCAweDAwMDA2MDAwIH0sCisJeyBfTU1JTygweDI3OTFDKSwgMHgwMDAwMDgwMCB9LAor CXsgX01NSU8oMHgyN0FBMCksIDB4MDE1MDAwMDAgfSwKKwl7IF9NTUlPKDB4MjdCOUMpLCAweDAw MDA2MDAwIH0sCisJeyBfTU1JTygweDI2NDFDKSwgMHgwMDAwMDQwMCB9LAorCXsgX01NSU8oMHgy NTM4MCksIDB4MDAwMDAwMTAgfSwKKwl7IF9NTUlPKDB4MjUzOEMpLCAweDAwMDAwMDAwIH0sCisJ eyBfTU1JTygweDI1Mzg0KSwgMHgwODAwQUFBQSB9LAorCXsgX01NSU8oMHgyNTQwMCksIDB4MDAw MDAwMDQgfSwKKwl7IF9NTUlPKDB4MjU0MEMpLCAweDA2MDI5MDAwIH0sCisJeyBfTU1JTygweDI1 NDEwKSwgMHgwMDAwMDAwMiB9LAorCXsgX01NSU8oMHgyNTQwNCksIDB4NUMzMEZGRkYgfSwKKwl7 IF9NTUlPKDB4MjUxMDApLCAweDAwMDAwMDE2IH0sCisJeyBfTU1JTygweDI1MTEwKSwgMHgwMDAw MDQwMCB9LAorCXsgX01NSU8oMHgyNTEwNCksIDB4MDAwMDAwMDAgfSwKKwl7IF9NTUlPKDB4MjY4 MDQpLCAweDAwMDAxMjExIH0sCisJeyBfTU1JTygweDI2ODg0KSwgMHgwMDAwMDEwMCB9LAorCXsg X01NSU8oMHgyNjkwMCksIDB4MDAwMDAwMDIgfSwKKwl7IF9NTUlPKDB4MjY5MDgpLCAweDAwNzAw MDAwIH0sCisJeyBfTU1JTygweDI2OTA0KSwgMHgwMDAwMDAwMCB9LAorCXsgX01NSU8oMHgyNjk4 NCksIDB4MDAwMDEwMjIgfSwKKwl7IF9NTUlPKDB4MjZBMDQpLCAweDAwMDAwMDExIH0sCisJeyBf TU1JTygweDI2QTgwKSwgMHgwMDAwMDAwNiB9LAorCXsgX01NSU8oMHgyNkE4OCksIDB4MDAwMDBD MDIgfSwKKwl7IF9NTUlPKDB4MjZBODQpLCAweDAwMDAwMDAwIH0sCisJeyBfTU1JTygweDI2QjA0 KSwgMHgwMDAwMTAwMCB9LAorCXsgX01NSU8oMHgyNkI4MCksIDB4MDAwMDAwMDIgfSwKKwl7IF9N TUlPKDB4MjZCOEMpLCAweDAwMDAwMDA3IH0sCisJeyBfTU1JTygweDI2Qjg0KSwgMHgwMDAwMDAw MCB9LAorCXsgX01NSU8oMHgyNzgwNCksIDB4MDAwMDQ4NDQgfSwKKwl7IF9NTUlPKDB4Mjc4ODQp LCAweDAwMDAwNDAwIH0sCisJeyBfTU1JTygweDI3OTAwKSwgMHgwMDAwMDAwMiB9LAorCXsgX01N SU8oMHgyNzkwOCksIDB4MEUwMDAwMDAgfSwKKwl7IF9NTUlPKDB4Mjc5MDQpLCAweDAwMDAwMDAw IH0sCisJeyBfTU1JTygweDI3OTg0KSwgMHgwMDAwNDA4OCB9LAorCXsgX01NSU8oMHgyN0EwNCks IDB4MDAwMDAwNDQgfSwKKwl7IF9NTUlPKDB4MjdBODApLCAweDAwMDAwMDA2IH0sCisJeyBfTU1J TygweDI3QTg4KSwgMHgwMDAxODA0MCB9LAorCXsgX01NSU8oMHgyN0E4NCksIDB4MDAwMDAwMDAg fSwKKwl7IF9NTUlPKDB4MjdCMDQpLCAweDAwMDA0MDAwIH0sCisJeyBfTU1JTygweDI3QjgwKSwg MHgwMDAwMDAwMiB9LAorCXsgX01NSU8oMHgyN0I4QyksIDB4MDAwMDAwRTAgfSwKKwl7IF9NTUlP KDB4MjdCODQpLCAweDAwMDAwMDAwIH0sCisJeyBfTU1JTygweDI2MTA0KSwgMHgwMDAwMjIyMiB9 LAorCXsgX01NSU8oMHgyNjE4NCksIDB4MEMwMDY2NjYgfSwKKwl7IF9NTUlPKDB4MjYyODQpLCAw eDA0MDAwMDAwIH0sCisJeyBfTU1JTygweDI2MzA0KSwgMHgwNDAwMDAwMCB9LAorCXsgX01NSU8o MHgyNjQwMCksIDB4MDAwMDAwMDIgfSwKKwl7IF9NTUlPKDB4MjY0MTApLCAweDAwMDAwMEEwIH0s CisJeyBfTU1JTygweDI2NDA0KSwgMHgwMDAwMDAwMCB9LAorCXsgX01NSU8oMHgyNTQyMCksIDB4 MDQxMDgwMjAgfSwKKwl7IF9NTUlPKDB4MjU0MjQpLCAweDEyODRBNDIwIH0sCisJeyBfTU1JTygw eDI1NDFDKSwgMHgwMDAwMDAwMCB9LAorCXsgX01NSU8oMHgyNTQyOCksIDB4MDAwNDIwNDkgfSwK K307CisKK3N0YXRpYyBpbnQgc2VsZWN0X3JlbmRlcl9iYXNpY19jb25maWcoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQoreworCWRldl9wcml2LT5wZXJmLm9hLm11eF9yZWdzID0K KwkJbXV4X2NvbmZpZ19yZW5kZXJfYmFzaWM7CisJZGV2X3ByaXYtPnBlcmYub2EubXV4X3JlZ3Nf bGVuID0KKwkJQVJSQVlfU0laRShtdXhfY29uZmlnX3JlbmRlcl9iYXNpYyk7CisKKwlkZXZfcHJp di0+cGVyZi5vYS5iX2NvdW50ZXJfcmVncyA9CisJCWJfY291bnRlcl9jb25maWdfcmVuZGVyX2Jh c2ljOworCWRldl9wcml2LT5wZXJmLm9hLmJfY291bnRlcl9yZWdzX2xlbiA9CisJCUFSUkFZX1NJ WkUoYl9jb3VudGVyX2NvbmZpZ19yZW5kZXJfYmFzaWMpOworCisJcmV0dXJuIDA7Cit9CisKK2lu dCBpOTE1X29hX3NlbGVjdF9tZXRyaWNfc2V0X2hzdyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCit7CisJZGV2X3ByaXYtPnBlcmYub2EubXV4X3JlZ3MgPSBOVUxMOworCWRldl9w cml2LT5wZXJmLm9hLm11eF9yZWdzX2xlbiA9IDA7CisJZGV2X3ByaXYtPnBlcmYub2EuYl9jb3Vu dGVyX3JlZ3MgPSBOVUxMOworCWRldl9wcml2LT5wZXJmLm9hLmJfY291bnRlcl9yZWdzX2xlbiA9 IDA7CisKKwlzd2l0Y2ggKGRldl9wcml2LT5wZXJmLm9hLm1ldHJpY3Nfc2V0KSB7CisJY2FzZSBN RVRSSUNfU0VUX0lEX1JFTkRFUl9CQVNJQzoKKwkJcmV0dXJuIHNlbGVjdF9yZW5kZXJfYmFzaWNf Y29uZmlnKGRldl9wcml2KTsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVOT0RFVjsKKwl9Cit9CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X29hX2hzdy5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9vYV9oc3cuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi5iNjE4YTFmCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9vYV9oc3cuaApAQCAtMCwwICsxLDM0IEBACisvKgorICogQXV0b2dlbmVyYXRlZCBmaWxlLCBE TyBOT1QgRURJVCBtYW51YWxseSEKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUgSW50ZWwgQ29y cG9yYXRpb24KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNo YXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorICogY29weSBvZiB0aGlzIHNvZnR3YXJl IGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKKyAq IHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3 aXRob3V0IGxpbWl0YXRpb24KKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l cmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAorICogYW5kL29yIHNlbGwgY29w aWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCisg KiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2lu ZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz IHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhlIG5leHQKKyAqIHBhcmFncmFwaCkgc2hh bGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0 aGUKKyAqIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMi LCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJ TkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ TElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5H RU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAorICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhP TERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJ TElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNF LCBBUklTSU5HCisgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZU V0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTCisgKiBJTiBUSEUgU09GVFdBUkUuCisg KgorICovCisKKyNpZm5kZWYgX19JOTE1X09BX0hTV19IX18KKyNkZWZpbmUgX19JOTE1X09BX0hT V19IX18KKworZXh0ZXJuIGludCBpOTE1X29hX25fYnVpbHRpbl9tZXRyaWNfc2V0c19oc3c7CisK K2V4dGVybiBpbnQgaTkxNV9vYV9zZWxlY3RfbWV0cmljX3NldF9oc3coc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KTsKKworI2VuZGlmCi0tIAoyLjcuMQoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==