From mboxrd@z Thu Jan 1 00:00:00 1970 From: Patchwork Subject: =?utf-8?q?=E2=9C=97_Fi=2ECI=2ECHECKPATCH=3A_warning_f?= =?utf-8?q?or_i915_vgpu_PV_to_improve_vgpu_performance?= Date: Mon, 29 Apr 2019 12:30:20 -0000 Message-ID: <20190429123020.31948.53328@emeril.freedesktop.org> References: <1556507458-24684-1-git-send-email-xiaolin.zhang@intel.com> Reply-To: intel-gfx@lists.freedesktop.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1556507458-24684-1-git-send-email-xiaolin.zhang@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Xiaolin Zhang Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org PT0gU2VyaWVzIERldGFpbHMgPT0KClNlcmllczogaTkxNSB2Z3B1IFBWIHRvIGltcHJvdmUgdmdw dSBwZXJmb3JtYW5jZQpVUkwgICA6IGh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9z ZXJpZXMvNjAwNTUvClN0YXRlIDogd2FybmluZwoKPT0gU3VtbWFyeSA9PQoKJCBkaW0gY2hlY2tw YXRjaCBvcmlnaW4vZHJtLXRpcAplOWQ0MmI1YTE3NjkgZHJtL2k5MTU6IGludHJvZHVjZWQgdmdw dSBwdiBjYXBhYmlsaXR5Ci06ODk6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25t ZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiM4OTogRklMRTogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV92Z3B1LmM6ODk6CisJRFJNX0lORk8oIlZpcnR1YWwgR1BVIGZvciBJbnRl bCBHVlQtZyBkZXRlY3RlZCB3aXRoIHB2X2NhcHMgMHgleC5cbiIsCisJCQlkZXZfcHJpdi0+dmdw dS5wdl9jYXBzKTsKCnRvdGFsOiAwIGVycm9ycywgMCB3YXJuaW5ncywgMSBjaGVja3MsIDEwMCBs aW5lcyBjaGVja2VkCmI5NGE2N2RhNjlmMyBkcm0vaTkxNTogdmdwdSBzaGFyZWQgbWVtb3J5IHNl dHVwIGZvciBwdiBvcHRpbWl6YXRpb24KLTo0MDogQ0hFQ0s6VU5DT01NRU5URURfREVGSU5JVElP Tjogc3BpbmxvY2tfdCBkZWZpbml0aW9uIHdpdGhvdXQgY29tbWVudAojNDA6IEZJTEU6IGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2Lmg6MTI0NDoKKwlzcGlubG9ja190IHNoYXJlZF9wYWdl X2xvY2tbSTkxNV9OVU1fRU5HSU5FU107CgotOjExMjogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05N RU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzExMjogRklMRTog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmM6MzE3OgorCV9fcmF3X3VuY29yZV93cml0 ZTMyKHVuY29yZSwgdmd0aWZfcmVnKGcydl9ub3RpZnkpLAorCQkJVkdUX0cyVl9TSEFSRURfUEFH RV9TRVRVUCk7Cgp0b3RhbDogMCBlcnJvcnMsIDAgd2FybmluZ3MsIDIgY2hlY2tzLCAxMTEgbGlu ZXMgY2hlY2tlZAoxYzdhYzk4ZDYxMmUgZHJtL2k5MTU6IHZncHUgcHBndHQgdXBkYXRlIHB2IG9w dGltaXphdGlvbgotOjQwOiBDSEVDSzpMT0dJQ0FMX0NPTlRJTlVBVElPTlM6IExvZ2ljYWwgY29u dGludWF0aW9ucyBzaG91bGQgYmUgb24gdGhlIHByZXZpb3VzIGxpbmUKIzQwOiBGSUxFOiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jOjQ0NzQ6CisJaWYgKChpbnRlbF92Z3B1X2FjdGl2 ZShkZXZfcHJpdikgJiYgIWludGVsX3ZncHVfaGFzX2h1Z2VfZ3R0KGRldl9wcml2KSkKKwkJfHwg aW50ZWxfdmdwdV9lbmFibGVkX3B2X2NhcHMoZGV2X3ByaXYsIFBWX1BQR1RUX1VQREFURSkpCgot OjU0OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2gg b3BlbiBwYXJlbnRoZXNpcwojNTQ6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2d0dC5jOjkyNjoKK3ZvaWQgZ2VuOF9wcGd0dF9jbGVhcl80bHZsKHN0cnVjdCBpOTE1X2FkZHJl c3Nfc3BhY2UgKnZtLAogCQkJCSAgdTY0IHN0YXJ0LCB1NjQgbGVuZ3RoKQoKLTo2MzogQ0hFQ0s6 UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50 aGVzaXMKIzYzOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYzoxMTY1 Ogordm9pZCBnZW44X3BwZ3R0X2luc2VydF80bHZsKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2Ug KnZtLAogCQkJCSAgIHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAoKLTo3MjogQ0hFQ0s6UEFSRU5USEVT SVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzcy OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYzoxNDQ3OgoraW50IGdl bjhfcHBndHRfYWxsb2NfNGx2bChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAkJCQkg dTY0IHN0YXJ0LCB1NjQgbGVuZ3RoKQoKLTo5NDogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5U OiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzk0OiBGSUxFOiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaDo2Mjg6Cit2b2lkIGdlbjhfcHBndHRfY2xl YXJfNGx2bChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKKwkJdTY0IHN0YXJ0LCB1NjQg bGVuZ3RoKTsKCi06OTY6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNo b3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiM5NjogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZ3R0Lmg6NjMwOgordm9pZCBnZW44X3BwZ3R0X2luc2VydF80bHZsKHN0cnVj dCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAorCQlzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKCi06OTk6 IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVu IHBhcmVudGhlc2lzCiM5OTogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0 Lmg6NjMzOgoraW50IGdlbjhfcHBndHRfYWxsb2NfNGx2bChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3Nw YWNlICp2bSwKKwkJdTY0IHN0YXJ0LCB1NjQgbGVuZ3RoKTsKCi06MTM3OiBDSEVDSzpQQVJFTlRI RVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwoj MTM3OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuYzoyOTY6CitzdGF0aWMg dm9pZCBnZW44X3BwZ3R0X2NsZWFyXzRsdmxfcHYoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAq dm0sCisJCQkJICB1NjQgc3RhcnQsIHU2NCBsZW5ndGgpCgotOjE1NjogQ0hFQ0s6UEFSRU5USEVT SVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzE1 NjogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmM6MzE1Ogorc3RhdGljIHZv aWQgZ2VuOF9wcGd0dF9pbnNlcnRfNGx2bF9wdihzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2 bSwKKwkJCQkgICBzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKCi06MTc1OiBDSEVDSzpQQVJFTlRIRVNJ U19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMTc1 OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuYzozMzQ6CitzdGF0aWMgaW50 IGdlbjhfcHBndHRfYWxsb2NfNGx2bF9wdihzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwK KwkJCQkgdTY0IHN0YXJ0LCB1NjQgbGVuZ3RoKQoKLToyMDI6IENIRUNLOlBBUkVOVEhFU0lTX0FM SUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMyMDI6IEZJ TEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jOjM2MToKK3ZvaWQgaW50ZWxfdmdw dV9jb25maWdfcHZfY2FwcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCWVu dW0gcHZfY2FwcyBjYXAsIHZvaWQgKmRhdGEpCgotOjI0NDogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJ R05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzI0NDogRklM RTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1Lmg6ODA6CitpbnRlbF92Z3B1X2VuYWJs ZWRfcHZfY2FwcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCWVudW0gcHZf Y2FwcyBjYXApCgotOjI0NzogQ0hFQ0s6TE9HSUNBTF9DT05USU5VQVRJT05TOiBMb2dpY2FsIGNv bnRpbnVhdGlvbnMgc2hvdWxkIGJlIG9uIHRoZSBwcmV2aW91cyBsaW5lCiMyNDc6IEZJTEU6IGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5oOjgzOgorCXJldHVybiBpbnRlbF92Z3B1X2Fj dGl2ZShkZXZfcHJpdikgJiYgaW50ZWxfdmdwdV9oYXNfcHZfY2FwcyhkZXZfcHJpdikKKwkJCSYm IChkZXZfcHJpdi0+dmdwdS5wdl9jYXBzICYgY2FwKTsKCi06MjU2OiBDSEVDSzpQQVJFTlRIRVNJ U19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMjU2 OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuaDo5MjoKK3ZvaWQgaW50ZWxf dmdwdV9jb25maWdfcHZfY2FwcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJ CWVudW0gcHZfY2FwcyBjYXAsIHZvaWQgKmRhdGEpOwoKdG90YWw6IDAgZXJyb3JzLCAwIHdhcm5p bmdzLCAxNCBjaGVja3MsIDE5MyBsaW5lcyBjaGVja2VkCjJkNThkMzFjZGRiMiBkcm0vaTkxNTog dmdwdSBjb250ZXh0IHN1Ym1pc3Npb24gcHYgb3B0aW1pemF0aW9uCi06MTMxOiBXQVJOSU5HOkZJ TEVfUEFUSF9DSEFOR0VTOiBhZGRlZCwgbW92ZWQgb3IgZGVsZXRlZCBmaWxlKHMpLCBkb2VzIE1B SU5UQUlORVJTIG5lZWQgdXBkYXRpbmc/CiMxMzE6IApuZXcgZmlsZSBtb2RlIDEwMDY0NAoKLTox NTA6IENIRUNLOlNQQUNJTkc6IHNwYWNlcyBwcmVmZXJyZWQgYXJvdW5kIHRoYXQgJysnIChjdHg6 VnhWKQojMTUwOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wdl9zdWJtaXNzaW9u LmM6MTU6CisJcmVnX3N0YXRlW0NUWF9SSU5HX1RBSUwrMV0gPSBpbnRlbF9yaW5nX3NldF90YWls KHJxLT5yaW5nLCBycS0+dGFpbCk7CiAJICAgICAgICAgICAgICAgICAgICAgICBeCgp0b3RhbDog MCBlcnJvcnMsIDEgd2FybmluZ3MsIDEgY2hlY2tzLCAyNDggbGluZXMgY2hlY2tlZApiZTJiYjRm N2MxYmUgZHJtL2k5MTUvZ3Z0OiBHVlRnIGhhbmRsZSBwdl9jYXBzIFBWSU5GTyByZWdpc3Rlcgo0 NmYyMDFiYmE1ZmQgZHJtL2k5MTUvZ3Z0OiBHVlRnIGhhbmRsZSBzaGFyZWRfcGFnZSBzZXR1cAot OjQ5OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2gg b3BlbiBwYXJlbnRoZXNpcwojNDk6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndnQu aDo2OTM6CitpbnQgaW50ZWxfZ3Z0X3JlYWRfc2hhcmVkX3BhZ2Uoc3RydWN0IGludGVsX3ZncHUg KnZncHUsCisJCXVuc2lnbmVkIGludCBvZmZzZXQsIHZvaWQgKmJ1ZiwgdW5zaWduZWQgbG9uZyBs ZW4pOwoKLToxMjI6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3Vs ZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMxMjI6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2d2dC92Z3B1LmM6NjAzOgoraW50IGludGVsX2d2dF9yZWFkX3NoYXJlZF9wYWdlKHN0cnVjdCBp bnRlbF92Z3B1ICp2Z3B1LAorCQl1bnNpZ25lZCBpbnQgb2Zmc2V0LCB2b2lkICpidWYsIHVuc2ln bmVkIGxvbmcgbGVuKQoKdG90YWw6IDAgZXJyb3JzLCAwIHdhcm5pbmdzLCAyIGNoZWNrcywgOTYg bGluZXMgY2hlY2tlZAo5NDA3YjAyZjM5MDkgZHJtL2k5MTUvZ3Z0OiBHVlRnIHN1cHBvcnQgcHBn dHQgcHYgb3B0aW1pemF0aW9uCi06ODE6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxp Z25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiM4MTogRklMRTogZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjE4MTU6CisJCWd2dF92Z3B1X2VycigiZmFpbCB0byBjcmVh dGUgcHBndHQgZm9yIHBkcCAweCVsbHhcbiIsCisJCQkJcHhfZG1hKCZtbS0+cHBndHQtPnBtbDQp KTsKCi06MTExOiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQg bWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMTExOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n dnQvZ3R0LmM6Mjg0NToKK2ludCBpbnRlbF92Z3B1X2cydl9wdl9wcGd0dF9hbGxvY180bHZsKHN0 cnVjdCBpbnRlbF92Z3B1ICp2Z3B1LAorCQl1NjQgcGRwc1tdKQoKLToxMzY6IENIRUNLOlBBUkVO VEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lz CiMxMzY6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndHQuYzoyODcwOgoraW50IGlu dGVsX3ZncHVfZzJ2X3B2X3BwZ3R0X2NsZWFyXzRsdmwoc3RydWN0IGludGVsX3ZncHUgKnZncHUs CisJCXU2NCBwZHBzW10pCgotOjE2NDogQ0hFQ0s6TUFDUk9fQVJHX1JFVVNFOiBNYWNybyBhcmd1 bWVudCByZXVzZSAnZW5kJyAtIHBvc3NpYmxlIHNpZGUtZWZmZWN0cz8KIzE2NDogRklMRTogZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjI4OTg6CisjZGVmaW5lIHBtbDRfYWRkcl9lbmQo YWRkciwgZW5kKQkJCQkJXAorKHsJdW5zaWduZWQgbG9uZyBfX2JvdW5kYXJ5ID0gXAorCQkJKChh ZGRyKSArIEdFTjhfUE1MNEVfU0laRSkgJiBHRU44X1BNTDRFX1NJWkVfTUFTSzsgXAorCShfX2Jv dW5kYXJ5IDwgKGVuZCkpID8gX19ib3VuZGFyeSA6IChlbmQpOwkJXAorfSkKCi06MTcwOiBDSEVD SzpNQUNST19BUkdfUkVVU0U6IE1hY3JvIGFyZ3VtZW50IHJldXNlICdlbmQnIC0gcG9zc2libGUg c2lkZS1lZmZlY3RzPwojMTcwOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmM6 MjkwNDoKKyNkZWZpbmUgcGRwX2FkZHJfZW5kKGFkZHIsIGVuZCkJCQkJCQlcCisoewl1bnNpZ25l ZCBsb25nIF9fYm91bmRhcnkgPSBcCisJCQkoKGFkZHIpICsgR0VOOF9QRFBFX1NJWkUpICYgR0VO OF9QRFBFX1NJWkVfTUFTSzsgXAorCShfX2JvdW5kYXJ5IDwgKGVuZCkpID8gX19ib3VuZGFyeSA6 IChlbmQpOwkJXAorfSkKCi06MTc2OiBDSEVDSzpNQUNST19BUkdfUkVVU0U6IE1hY3JvIGFyZ3Vt ZW50IHJldXNlICdlbmQnIC0gcG9zc2libGUgc2lkZS1lZmZlY3RzPwojMTc2OiBGSUxFOiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmM6MjkxMDoKKyNkZWZpbmUgcGRfYWRkcl9lbmQoYWRk ciwgZW5kKQkJCQkJCVwKKyh7CXVuc2lnbmVkIGxvbmcgX19ib3VuZGFyeSA9IFwKKwkJCSgoYWRk cikgKyBHRU44X1BERV9TSVpFKSAmIEdFTjhfUERFX1NJWkVfTUFTSzsJXAorCShfX2JvdW5kYXJ5 IDwgKGVuZCkpID8gX19ib3VuZGFyeSA6IChlbmQpOwkJXAorfSkKCi06MTg5OiBDSEVDSzpQQVJF TlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNp cwojMTg5OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmM6MjkyMzoKK3N0YXRp YyBpbnQgd2Fsa19wdF9yYW5nZShzdHJ1Y3QgaW50ZWxfdmdwdSAqdmdwdSwgdTY0IHB0LAorCQkJ CXU2NCBzdGFydCwgdTY0IGVuZCwgc3RydWN0IHBwZ3R0X3dhbGsgKndhbGspCgotOjIwMjogQ0hF Q0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFy ZW50aGVzaXMKIzIwMjogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjI5MzY6 CisJcmV0ID0gaW50ZWxfZ3Z0X2h5cGVydmlzb3JfcmVhZF9ncGEodmdwdSwKKwkJKHB0ICYgUEFH RV9NQVNLKSArIChzdGFydF9pbmRleCA8PCBpbmZvLT5ndHRfZW50cnlfc2l6ZV9zaGlmdCksCgot OjIyMzogQ0hFQ0s6TElORV9TUEFDSU5HOiBQbGVhc2UgZG9uJ3QgdXNlIG11bHRpcGxlIGJsYW5r IGxpbmVzCiMyMjM6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndHQuYzoyOTU3Ogor CisKCi06MjI1OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQg bWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMjI1OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n dnQvZ3R0LmM6Mjk1OToKK3N0YXRpYyBpbnQgd2Fsa19wZF9yYW5nZShzdHJ1Y3QgaW50ZWxfdmdw dSAqdmdwdSwgdTY0IHBkLAorCQkJCXU2NCBzdGFydCwgdTY0IGVuZCwgc3RydWN0IHBwZ3R0X3dh bGsgKndhbGspCgotOjIzNzogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQg c2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzIzNzogRklMRTogZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3Z0L2d0dC5jOjI5NzE6CisJCXJldCA9IGludGVsX2d2dF9oeXBlcnZpc29yX3JlYWRf Z3BhKHZncHUsCisJCQkocGQgJiBQQUdFX01BU0spICsgKGluZGV4IDw8CgotOjI1MDogQ0hFQ0s6 TElORV9TUEFDSU5HOiBQbGVhc2UgZG9uJ3QgdXNlIG11bHRpcGxlIGJsYW5rIGxpbmVzCiMyNTA6 IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndHQuYzoyOTg0OgorCisKCi06MjUyOiBD SEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBw YXJlbnRoZXNpcwojMjUyOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmM6Mjk4 NjoKK3N0YXRpYyBpbnQgd2Fsa19wZHBfcmFuZ2Uoc3RydWN0IGludGVsX3ZncHUgKnZncHUsIHU2 NCBwZHAsCisJCQkJICB1NjQgc3RhcnQsIHU2NCBlbmQsIHN0cnVjdCBwcGd0dF93YWxrICp3YWxr KQoKLToyNjQ6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBt YXRjaCBvcGVuIHBhcmVudGhlc2lzCiMyNjQ6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2 dC9ndHQuYzoyOTk4OgorCQlyZXQgPSBpbnRlbF9ndnRfaHlwZXJ2aXNvcl9yZWFkX2dwYSh2Z3B1 LAorCQkJKHBkcCAmIFBBR0VfTUFTSykgKyAoaW5kZXggPDwKCi06Mjc2OiBDSEVDSzpMSU5FX1NQ QUNJTkc6IFBsZWFzZSBkb24ndCB1c2UgbXVsdGlwbGUgYmxhbmsgbGluZXMKIzI3NjogRklMRTog ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjMwMTA6CisKKwoKLToyNzg6IENIRUNLOlBB UkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhl c2lzCiMyNzg6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndHQuYzozMDEyOgorc3Rh dGljIGludCB3YWxrX3BtbDRfcmFuZ2Uoc3RydWN0IGludGVsX3ZncHUgKnZncHUsIHU2NCBwbWw0 LAorCQkJCXU2NCBzdGFydCwgdTY0IGVuZCwgc3RydWN0IHBwZ3R0X3dhbGsgKndhbGspCgotOjI4 OTogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9w ZW4gcGFyZW50aGVzaXMKIzI4OTogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5j OjMwMjM6CisJCXJldCA9IGludGVsX2d2dF9oeXBlcnZpc29yX3JlYWRfZ3BhKHZncHUsCisJCQko cG1sNCAmIFBBR0VfTUFTSykgKyAoaW5kZXggPDwKCi06MzAyOiBDSEVDSzpQQVJFTlRIRVNJU19B TElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMzAyOiBG SUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmM6MzAzNjoKK2ludCBpbnRlbF92Z3B1 X2cydl9wdl9wcGd0dF9pbnNlcnRfNGx2bChzdHJ1Y3QgaW50ZWxfdmdwdSAqdmdwdSwKKwkJdTY0 IHBkcHNbXSkKCi06MzM2OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBz aG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMzM2OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9ndnQvZ3R0LmM6MzA3MDoKKwl3YWxrLm1mbnMgPSBrbWFsbG9jX2FycmF5KG51bV9wYWdl cywKKwkJCXNpemVvZih1bnNpZ25lZCBsb25nKSwgR0ZQX0tFUk5FTCk7CgotOjM5NjogQ0hFQ0s6 UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50 aGVzaXMKIzM5NjogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5oOjI4MjoKK2lu dCBpbnRlbF92Z3B1X2cydl9wdl9wcGd0dF9hbGxvY180bHZsKHN0cnVjdCBpbnRlbF92Z3B1ICp2 Z3B1LAorCQl1NjQgcGRwc1tdKTsKCi06Mzk5OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6 IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMzk5OiBGSUxFOiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0Lmg6Mjg1OgoraW50IGludGVsX3ZncHVfZzJ2X3B2X3Bw Z3R0X2NsZWFyXzRsdmwoc3RydWN0IGludGVsX3ZncHUgKnZncHUsCisJCXU2NCBwZHBzW10pOwoK LTo0MDI6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRj aCBvcGVuIHBhcmVudGhlc2lzCiM0MDI6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9n dHQuaDoyODg6CitpbnQgaW50ZWxfdmdwdV9nMnZfcHZfcHBndHRfaW5zZXJ0XzRsdmwoc3RydWN0 IGludGVsX3ZncHUgKnZncHUsCisJCXU2NCBwZHBzW10pOwoKLTo0MTI6IENIRUNLOk1BQ1JPX0FS R19SRVVTRTogTWFjcm8gYXJndW1lbnQgcmV1c2UgJ3ZncHUnIC0gcG9zc2libGUgc2lkZS1lZmZl Y3RzPwojNDEyOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3Z0Lmg6NTY6CisjZGVm aW5lIFZHUFVfUFZDQVAodmdwdSwgY2FwKQlcCisJKCh2Z3B1X3ZyZWdfdCh2Z3B1LCB2Z3RpZl9y ZWcocHZfY2FwcykpICYgKGNhcCkpIFwKKwkJCSYmIHZncHUtPnNoYXJlZF9wYWdlX2VuYWJsZWQp CgotOjQxNDogQ0hFQ0s6TE9HSUNBTF9DT05USU5VQVRJT05TOiBMb2dpY2FsIGNvbnRpbnVhdGlv bnMgc2hvdWxkIGJlIG9uIHRoZSBwcmV2aW91cyBsaW5lCiM0MTQ6IEZJTEU6IGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2d2dC9ndnQuaDo1ODoKKwkoKHZncHVfdnJlZ190KHZncHUsIHZndGlmX3JlZyhw dl9jYXBzKSkgJiAoY2FwKSkgXAorCQkJJiYgdmdwdS0+c2hhcmVkX3BhZ2VfZW5hYmxlZCkKCnRv dGFsOiAwIGVycm9ycywgMCB3YXJuaW5ncywgMjQgY2hlY2tzLCA0MTIgbGluZXMgY2hlY2tlZAph ODkwNDcxYjAwNzIgZHJtL2k5MTUvZ3Z0OiBHVlRnIHN1cHBvcnQgY29udGV4dCBzdWJtaXNzaW9u IHB2IG9wdGltaXphdGlvbgotOjYxOiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdu bWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojNjE6IEZJTEU6IGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2d2dC9oYW5kbGVycy5jOjE3MjA6CisJCWlmIChpbnRlbF9ndnRfcmVhZF9zaGFy ZWRfcGFnZSh2Z3B1LCBwdl9lbHNwX29mZiwgJnB2X2Vsc3AsCisJCQlJOTE1X05VTV9FTkdJTkVT ICogc2l6ZW9mKHN0cnVjdCBwdl9zdWJtaXNzaW9uKSkpCgotOjY1OiBDSEVDSzpQQVJFTlRIRVNJ U19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojNjU6 IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9oYW5kbGVycy5jOjE3MjQ6CisJCW1lbWNw eSgmZXhlY2xpc3QtPmVsc3BfZHdvcmRzLmRhdGEsIHB2X2Vsc3BbcmluZ19pZF0uZGVzY3MsCisJ CQkJOCAqIEVYRUNMSVNUX01BWF9QT1JUUyk7Cgp0b3RhbDogMCBlcnJvcnMsIDAgd2FybmluZ3Ms IDIgY2hlY2tzLCA0MyBsaW5lcyBjaGVja2VkCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZng=