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, 03 Jun 2019 07:23:57 -0000 Message-ID: <20190603072357.25580.85406@emeril.freedesktop.org> References: <1559541769-25279-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: <1559541769-25279-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 ZXJpZXMvNjE0OTMvClN0YXRlIDogd2FybmluZwoKPT0gU3VtbWFyeSA9PQoKJCBkaW0gY2hlY2tw YXRjaCBvcmlnaW4vZHJtLXRpcApiODRkOGI0NzJhNTMgZHJtL2k5MTU6IGludHJvZHVjZWQgdmdw dSBwdiBjYXBhYmlsaXR5Ci06OTA6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25t ZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiM5MDogRklMRTogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV92Z3B1LmM6ODk6CisJRFJNX0lORk8oIlZpcnR1YWwgR1BVIGZvciBJbnRl bCBHVlQtZyBkZXRlY3RlZCB3aXRoIHB2X2NhcHMgMHgleC5cbiIsCisJCQlkZXZfcHJpdi0+dmdw dS5wdl9jYXBzKTsKCnRvdGFsOiAwIGVycm9ycywgMCB3YXJuaW5ncywgMSBjaGVja3MsIDk5IGxp bmVzIGNoZWNrZWQKOGY2Mjk2NDIwZTQwIGRybS9pOTE1OiB2Z3B1IHNoYXJlZCBtZW1vcnkgc2V0 dXAgZm9yIHB2IG9wdGltaXphdGlvbgotOjExMzogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5U OiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzExMzogRklMRTogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmM6MzE4OgorCV9fcmF3X3VuY29yZV93cml0ZTMy KHVuY29yZSwgdmd0aWZfcmVnKGcydl9ub3RpZnkpLAorCQkJVkdUX0cyVl9TSEFSRURfUEFHRV9T RVRVUCk7Cgp0b3RhbDogMCBlcnJvcnMsIDAgd2FybmluZ3MsIDEgY2hlY2tzLCAxMzIgbGluZXMg Y2hlY2tlZAo2MWJjZTU4NmJlN2EgZHJtL2k5MTU6IHZncHUgcHBndHQgdXBkYXRlIHB2IG9wdGlt aXphdGlvbgotOjQxOiBDSEVDSzpMT0dJQ0FMX0NPTlRJTlVBVElPTlM6IExvZ2ljYWwgY29udGlu dWF0aW9ucyBzaG91bGQgYmUgb24gdGhlIHByZXZpb3VzIGxpbmUKIzQxOiBGSUxFOiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jOjE1MTE6CisJaWYgKChpbnRlbF92Z3B1X2FjdGl2ZShk ZXZfcHJpdikgJiYgIWludGVsX3ZncHVfaGFzX2h1Z2VfZ3R0KGRldl9wcml2KSkKKwkJfHwgaW50 ZWxfdmdwdV9lbmFibGVkX3B2X2NhcHMoZGV2X3ByaXYsIFBWX1BQR1RUX1VQREFURSkpCgotOjU1 OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3Bl biBwYXJlbnRoZXNpcwojNTU6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0 dC5jOjkzMDoKK3ZvaWQgZ2VuOF9wcGd0dF9jbGVhcl80bHZsKHN0cnVjdCBpOTE1X2FkZHJlc3Nf c3BhY2UgKnZtLAogCQkJCSAgdTY0IHN0YXJ0LCB1NjQgbGVuZ3RoKQoKLTo2NDogQ0hFQ0s6UEFS RU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVz aXMKIzY0OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYzoxMTY5Ogor dm9pZCBnZW44X3BwZ3R0X2luc2VydF80bHZsKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZt LAogCQkJCSAgIHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAoKLTo3MzogQ0hFQ0s6UEFSRU5USEVTSVNf QUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzczOiBG SUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYzoxNDUxOgoraW50IGdlbjhf cHBndHRfYWxsb2NfNGx2bChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAkJCQkgdTY0 IHN0YXJ0LCB1NjQgbGVuZ3RoKQoKLTo5NTogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBB bGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzk1OiBGSUxFOiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaDo2NTA6Cit2b2lkIGdlbjhfcHBndHRfY2xlYXJf NGx2bChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKKwkJdTY0IHN0YXJ0LCB1NjQgbGVu Z3RoKTsKCi06OTc6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3Vs ZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiM5NzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZ3R0Lmg6NjUyOgordm9pZCBnZW44X3BwZ3R0X2luc2VydF80bHZsKHN0cnVjdCBp OTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAorCQlzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKCi06MTAwOiBD SEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBw YXJlbnRoZXNpcwojMTAwOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQu aDo2NTU6CitpbnQgZ2VuOF9wcGd0dF9hbGxvY180bHZsKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3Bh Y2UgKnZtLAorCQl1NjQgc3RhcnQsIHU2NCBsZW5ndGgpOwoKLToxMzg6IENIRUNLOlBBUkVOVEhF U0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMx Mzg6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jOjI5NjoKK3N0YXRpYyB2 b2lkIGdlbjhfcHBndHRfY2xlYXJfNGx2bF9wdihzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2 bSwKKwkJCQkgIHU2NCBzdGFydCwgdTY0IGxlbmd0aCkKCi06MTU3OiBDSEVDSzpQQVJFTlRIRVNJ U19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMTU3 OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuYzozMTU6CitzdGF0aWMgdm9p ZCBnZW44X3BwZ3R0X2luc2VydF80bHZsX3B2KHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZt LAorCQkJCSAgIHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAoKLToxNzY6IENIRUNLOlBBUkVOVEhFU0lT X0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMxNzY6 IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jOjMzNDoKK3N0YXRpYyBpbnQg Z2VuOF9wcGd0dF9hbGxvY180bHZsX3B2KHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAor CQkJCSB1NjQgc3RhcnQsIHU2NCBsZW5ndGgpCgotOjIwMzogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJ R05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzIwMzogRklM RTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmM6MzYxOgordm9pZCBpbnRlbF92Z3B1 X2NvbmZpZ19wdl9jYXBzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJZW51 bSBwdl9jYXBzIGNhcCwgdm9pZCAqZGF0YSkKCi06MjQ1OiBDSEVDSzpQQVJFTlRIRVNJU19BTElH Tk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMjQ1OiBGSUxF OiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuaDo5MToKK2ludGVsX3ZncHVfZW5hYmxl ZF9wdl9jYXBzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJZW51bSBwdl9j YXBzIGNhcCkKCi06MjQ4OiBDSEVDSzpMT0dJQ0FMX0NPTlRJTlVBVElPTlM6IExvZ2ljYWwgY29u dGludWF0aW9ucyBzaG91bGQgYmUgb24gdGhlIHByZXZpb3VzIGxpbmUKIzI0ODogRklMRTogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1Lmg6OTQ6CisJcmV0dXJuIGludGVsX3ZncHVfYWN0 aXZlKGRldl9wcml2KSAmJiBpbnRlbF92Z3B1X2hhc19wdl9jYXBzKGRldl9wcml2KQorCQkJJiYg KGRldl9wcml2LT52Z3B1LnB2X2NhcHMgJiBjYXApOwoKLToyNTc6IENIRUNLOlBBUkVOVEhFU0lT X0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMyNTc6 IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5oOjEwMzoKK3ZvaWQgaW50ZWxf dmdwdV9jb25maWdfcHZfY2FwcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJ CWVudW0gcHZfY2FwcyBjYXAsIHZvaWQgKmRhdGEpOwoKdG90YWw6IDAgZXJyb3JzLCAwIHdhcm5p bmdzLCAxNCBjaGVja3MsIDE5MyBsaW5lcyBjaGVja2VkCmYxYjNmNDk4ZWJlYSBkcm0vaTkxNTog dmdwdSBjb250ZXh0IHN1Ym1pc3Npb24gcHYgb3B0aW1pemF0aW9uCi06MTMyOiBXQVJOSU5HOkZJ TEVfUEFUSF9DSEFOR0VTOiBhZGRlZCwgbW92ZWQgb3IgZGVsZXRlZCBmaWxlKHMpLCBkb2VzIE1B SU5UQUlORVJTIG5lZWQgdXBkYXRpbmc/CiMxMzI6IApuZXcgZmlsZSBtb2RlIDEwMDY0NAoKLTox NTI6IENIRUNLOlNQQUNJTkc6IHNwYWNlcyBwcmVmZXJyZWQgYXJvdW5kIHRoYXQgJysnIChjdHg6 VnhWKQojMTUyOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wdl9zdWJtaXNzaW9u LmM6MTY6CisJcmVnX3N0YXRlW0NUWF9SSU5HX1RBSUwrMV0gPSBpbnRlbF9yaW5nX3NldF90YWls KHJxLT5yaW5nLCBycS0+dGFpbCk7CiAJICAgICAgICAgICAgICAgICAgICAgICBeCgp0b3RhbDog MCBlcnJvcnMsIDEgd2FybmluZ3MsIDEgY2hlY2tzLCAyMzcgbGluZXMgY2hlY2tlZAo0MGNlMDAx ZTFjZTggZHJtL2k5MTUvZ3Z0OiBHVlRnIGhhbmRsZSBwdl9jYXBzIFBWSU5GTyByZWdpc3Rlcgo0 YmVjY2E0Nzc1ZDEgZHJtL2k5MTUvZ3Z0OiBHVlRnIGhhbmRsZSBzaGFyZWRfcGFnZSBzZXR1cAot OjUwOiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2gg b3BlbiBwYXJlbnRoZXNpcwojNTA6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndnQu aDo2OTM6CitpbnQgaW50ZWxfZ3Z0X3JlYWRfc2hhcmVkX3BhZ2Uoc3RydWN0IGludGVsX3ZncHUg KnZncHUsCisJCXVuc2lnbmVkIGludCBvZmZzZXQsIHZvaWQgKmJ1ZiwgdW5zaWduZWQgbG9uZyBs ZW4pOwoKLTo1MjogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxk IG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzUyOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n dnQvZ3Z0Lmg6Njk1OgoraW50IGludGVsX2d2dF93cml0ZV9zaGFyZWRfcGFnZShzdHJ1Y3QgaW50 ZWxfdmdwdSAqdmdwdSwKKwkJdW5zaWduZWQgaW50IG9mZnNldCwgdm9pZCAqYnVmLCB1bnNpZ25l ZCBsb25nIGxlbik7CgotOjEzMDogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1l bnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzEzMDogRklMRTogZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3Z0L3ZncHUuYzo2MDM6CitpbnQgaW50ZWxfZ3Z0X3JlYWRfc2hhcmVkX3BhZ2Uo c3RydWN0IGludGVsX3ZncHUgKnZncHUsCisJCXVuc2lnbmVkIGludCBvZmZzZXQsIHZvaWQgKmJ1 ZiwgdW5zaWduZWQgbG9uZyBsZW4pCgotOjE0OTogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5U OiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzE0OTogRklMRTogZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3Z0L3ZncHUuYzo2MjI6CitpbnQgaW50ZWxfZ3Z0X3dyaXRlX3No YXJlZF9wYWdlKHN0cnVjdCBpbnRlbF92Z3B1ICp2Z3B1LAorCQl1bnNpZ25lZCBpbnQgb2Zmc2V0 LCB2b2lkICpidWYsIHVuc2lnbmVkIGxvbmcgbGVuKQoKdG90YWw6IDAgZXJyb3JzLCAwIHdhcm5p bmdzLCA0IGNoZWNrcywgMTIyIGxpbmVzIGNoZWNrZWQKMzYyNmU2NTQ3Nzk2IGRybS9pOTE1L2d2 dDogR1ZUZyBzdXBwb3J0IHBwZ3R0IHB2IG9wdGltaXphdGlvbgotOjgyOiBDSEVDSzpQQVJFTlRI RVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwoj ODI6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndHQuYzoxODI2OgorCQlndnRfdmdw dV9lcnIoImZhaWwgdG8gY3JlYXRlIHBwZ3R0IGZvciBwZHAgMHglbGx4XG4iLAorCQkJCXB4X2Rt YSgmbW0tPnBwZ3R0LT5wbWw0KSk7CgotOjExMjogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5U OiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzExMjogRklMRTogZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjI4NTg6CitpbnQgaW50ZWxfdmdwdV9nMnZfcHZf cHBndHRfYWxsb2NfNGx2bChzdHJ1Y3QgaW50ZWxfdmdwdSAqdmdwdSwKKwkJdTY0IHBkcHNbXSkK Ci06MTM3OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0 Y2ggb3BlbiBwYXJlbnRoZXNpcwojMTM3OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQv Z3R0LmM6Mjg4MzoKK2ludCBpbnRlbF92Z3B1X2cydl9wdl9wcGd0dF9jbGVhcl80bHZsKHN0cnVj dCBpbnRlbF92Z3B1ICp2Z3B1LAorCQl1NjQgcGRwc1tdKQoKLToxNjU6IENIRUNLOk1BQ1JPX0FS R19SRVVTRTogTWFjcm8gYXJndW1lbnQgcmV1c2UgJ2VuZCcgLSBwb3NzaWJsZSBzaWRlLWVmZmVj dHM/CiMxNjU6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndHQuYzoyOTExOgorI2Rl ZmluZSBwbWw0X2FkZHJfZW5kKGFkZHIsIGVuZCkJCQkJCVwKKyh7CXVuc2lnbmVkIGxvbmcgX19i b3VuZGFyeSA9IFwKKwkJCSgoYWRkcikgKyBHRU44X1BNTDRFX1NJWkUpICYgR0VOOF9QTUw0RV9T SVpFX01BU0s7IFwKKwkoX19ib3VuZGFyeSA8IChlbmQpKSA/IF9fYm91bmRhcnkgOiAoZW5kKTsJ CVwKK30pCgotOjE3MTogQ0hFQ0s6TUFDUk9fQVJHX1JFVVNFOiBNYWNybyBhcmd1bWVudCByZXVz ZSAnZW5kJyAtIHBvc3NpYmxlIHNpZGUtZWZmZWN0cz8KIzE3MTogRklMRTogZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3Z0L2d0dC5jOjI5MTc6CisjZGVmaW5lIHBkcF9hZGRyX2VuZChhZGRyLCBlbmQp CQkJCQkJXAorKHsJdW5zaWduZWQgbG9uZyBfX2JvdW5kYXJ5ID0gXAorCQkJKChhZGRyKSArIEdF TjhfUERQRV9TSVpFKSAmIEdFTjhfUERQRV9TSVpFX01BU0s7IFwKKwkoX19ib3VuZGFyeSA8IChl bmQpKSA/IF9fYm91bmRhcnkgOiAoZW5kKTsJCVwKK30pCgotOjE3NzogQ0hFQ0s6TUFDUk9fQVJH X1JFVVNFOiBNYWNybyBhcmd1bWVudCByZXVzZSAnZW5kJyAtIHBvc3NpYmxlIHNpZGUtZWZmZWN0 cz8KIzE3NzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjI5MjM6CisjZGVm aW5lIHBkX2FkZHJfZW5kKGFkZHIsIGVuZCkJCQkJCQlcCisoewl1bnNpZ25lZCBsb25nIF9fYm91 bmRhcnkgPSBcCisJCQkoKGFkZHIpICsgR0VOOF9QREVfU0laRSkgJiBHRU44X1BERV9TSVpFX01B U0s7CVwKKwkoX19ib3VuZGFyeSA8IChlbmQpKSA/IF9fYm91bmRhcnkgOiAoZW5kKTsJCVwKK30p CgotOjE5MDogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1h dGNoIG9wZW4gcGFyZW50aGVzaXMKIzE5MDogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0 L2d0dC5jOjI5MzY6CitzdGF0aWMgaW50IHdhbGtfcHRfcmFuZ2Uoc3RydWN0IGludGVsX3ZncHUg KnZncHUsIHU2NCBwdCwKKwkJCQl1NjQgc3RhcnQsIHU2NCBlbmQsIHN0cnVjdCBwcGd0dF93YWxr ICp3YWxrKQoKLToyMDM6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNo b3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMyMDM6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9p OTE1L2d2dC9ndHQuYzoyOTQ5OgorCXJldCA9IGludGVsX2d2dF9oeXBlcnZpc29yX3JlYWRfZ3Bh KHZncHUsCisJCShwdCAmIFBBR0VfTUFTSykgKyAoc3RhcnRfaW5kZXggPDwgaW5mby0+Z3R0X2Vu dHJ5X3NpemVfc2hpZnQpLAoKLToyMjQ6IENIRUNLOkxJTkVfU1BBQ0lORzogUGxlYXNlIGRvbid0 IHVzZSBtdWx0aXBsZSBibGFuayBsaW5lcwojMjI0OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9ndnQvZ3R0LmM6Mjk3MDoKKworCgotOjIyNjogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5U OiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzIyNjogRklMRTogZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjI5NzI6CitzdGF0aWMgaW50IHdhbGtfcGRfcmFu Z2Uoc3RydWN0IGludGVsX3ZncHUgKnZncHUsIHU2NCBwZCwKKwkJCQl1NjQgc3RhcnQsIHU2NCBl bmQsIHN0cnVjdCBwcGd0dF93YWxrICp3YWxrKQoKLToyMzg6IENIRUNLOlBBUkVOVEhFU0lTX0FM SUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMyMzg6IEZJ TEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndHQuYzoyOTg0OgorCQlyZXQgPSBpbnRlbF9n dnRfaHlwZXJ2aXNvcl9yZWFkX2dwYSh2Z3B1LAorCQkJKHBkICYgUEFHRV9NQVNLKSArIChpbmRl eCA8PAoKLToyNTE6IENIRUNLOkxJTkVfU1BBQ0lORzogUGxlYXNlIGRvbid0IHVzZSBtdWx0aXBs ZSBibGFuayBsaW5lcwojMjUxOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmM6 Mjk5NzoKKworCgotOjI1MzogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQg c2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzI1MzogRklMRTogZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3Z0L2d0dC5jOjI5OTk6CitzdGF0aWMgaW50IHdhbGtfcGRwX3JhbmdlKHN0cnVjdCBp bnRlbF92Z3B1ICp2Z3B1LCB1NjQgcGRwLAorCQkJCSAgdTY0IHN0YXJ0LCB1NjQgZW5kLCBzdHJ1 Y3QgcHBndHRfd2FsayAqd2FsaykKCi06MjY1OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6 IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMjY1OiBGSUxFOiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmM6MzAxMToKKwkJcmV0ID0gaW50ZWxfZ3Z0X2h5cGVy dmlzb3JfcmVhZF9ncGEodmdwdSwKKwkJCShwZHAgJiBQQUdFX01BU0spICsgKGluZGV4IDw8Cgot OjI3NzogQ0hFQ0s6TElORV9TUEFDSU5HOiBQbGVhc2UgZG9uJ3QgdXNlIG11bHRpcGxlIGJsYW5r IGxpbmVzCiMyNzc6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndHQuYzozMDIzOgor CisKCi06Mjc5OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQg bWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMjc5OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n dnQvZ3R0LmM6MzAyNToKK3N0YXRpYyBpbnQgd2Fsa19wbWw0X3JhbmdlKHN0cnVjdCBpbnRlbF92 Z3B1ICp2Z3B1LCB1NjQgcG1sNCwKKwkJCQl1NjQgc3RhcnQsIHU2NCBlbmQsIHN0cnVjdCBwcGd0 dF93YWxrICp3YWxrKQoKLToyOTA6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25t ZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMyOTA6IEZJTEU6IGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2d2dC9ndHQuYzozMDM2OgorCQlyZXQgPSBpbnRlbF9ndnRfaHlwZXJ2aXNvcl9y ZWFkX2dwYSh2Z3B1LAorCQkJKHBtbDQgJiBQQUdFX01BU0spICsgKGluZGV4IDw8CgotOjMwMzog Q0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4g cGFyZW50aGVzaXMKIzMwMzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjMw NDk6CitpbnQgaW50ZWxfdmdwdV9nMnZfcHZfcHBndHRfaW5zZXJ0XzRsdmwoc3RydWN0IGludGVs X3ZncHUgKnZncHUsCisJCXU2NCBwZHBzW10pCgotOjMzNzogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJ R05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzMzNzogRklM RTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjMwODM6CisJd2Fsay5tZm5zID0ga21h bGxvY19hcnJheShudW1fcGFnZXMsCisJCQlzaXplb2YodW5zaWduZWQgbG9uZyksIEdGUF9LRVJO RUwpOwoKLTozOTc6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3Vs ZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMzOTc6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2d2dC9ndHQuaDoyODI6CitpbnQgaW50ZWxfdmdwdV9nMnZfcHZfcHBndHRfYWxsb2NfNGx2bChz dHJ1Y3QgaW50ZWxfdmdwdSAqdmdwdSwKKwkJdTY0IHBkcHNbXSk7CgotOjQwMDogQ0hFQ0s6UEFS RU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVz aXMKIzQwMDogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5oOjI4NToKK2ludCBp bnRlbF92Z3B1X2cydl9wdl9wcGd0dF9jbGVhcl80bHZsKHN0cnVjdCBpbnRlbF92Z3B1ICp2Z3B1 LAorCQl1NjQgcGRwc1tdKTsKCi06NDAzOiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFs aWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojNDAzOiBGSUxFOiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9ndnQvZ3R0Lmg6Mjg4OgoraW50IGludGVsX3ZncHVfZzJ2X3B2X3BwZ3R0 X2luc2VydF80bHZsKHN0cnVjdCBpbnRlbF92Z3B1ICp2Z3B1LAorCQl1NjQgcGRwc1tdKTsKCi06 NDEzOiBDSEVDSzpNQUNST19BUkdfUkVVU0U6IE1hY3JvIGFyZ3VtZW50IHJldXNlICd2Z3B1JyAt IHBvc3NpYmxlIHNpZGUtZWZmZWN0cz8KIzQxMzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3Z0L2d2dC5oOjU2OgorI2RlZmluZSBWR1BVX1BWQ0FQKHZncHUsIGNhcCkJXAorCSgodmdwdV92 cmVnX3QodmdwdSwgdmd0aWZfcmVnKHB2X2NhcHMpKSAmIChjYXApKSBcCisJCQkmJiB2Z3B1LT5z aGFyZWRfcGFnZV9lbmFibGVkKQoKLTo0MTU6IENIRUNLOkxPR0lDQUxfQ09OVElOVUFUSU9OUzog TG9naWNhbCBjb250aW51YXRpb25zIHNob3VsZCBiZSBvbiB0aGUgcHJldmlvdXMgbGluZQojNDE1 OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3Z0Lmg6NTg6CisJKCh2Z3B1X3ZyZWdf dCh2Z3B1LCB2Z3RpZl9yZWcocHZfY2FwcykpICYgKGNhcCkpIFwKKwkJCSYmIHZncHUtPnNoYXJl ZF9wYWdlX2VuYWJsZWQpCgp0b3RhbDogMCBlcnJvcnMsIDAgd2FybmluZ3MsIDI0IGNoZWNrcywg NDEyIGxpbmVzIGNoZWNrZWQKZmE2MjI2Y2JiMDEzIGRybS9pOTE1L2d2dDogR1ZUZyBzdXBwb3J0 IGNvbnRleHQgc3VibWlzc2lvbiBwdiBvcHRpbWl6YXRpb24KLTo3MDogQ0hFQ0s6UEFSRU5USEVT SVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzcw OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvaGFuZGxlcnMuYzoxNzA4OgorCWlmIChp bnRlbF9ndnRfcmVhZF9zaGFyZWRfcGFnZSh2Z3B1LCBwdl9lbHNwX29mZiwKKwkJJmV4ZWNsaXN0 LT5lbHNwX2R3b3Jkcy5kYXRhLCBzaXplb2Yoc3RydWN0IHB2X3N1Ym1pc3Npb24pKSkKCnRvdGFs OiAwIGVycm9ycywgMCB3YXJuaW5ncywgMSBjaGVja3MsIDY3IGxpbmVzIGNoZWNrZWQKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==