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_series_starting_with_=5B1/7=5D_drm=3A_Add_drm/drm=5Futil=2Eh?= =?utf-8?q?_header_file_=28rev2=29?= Date: Wed, 05 Sep 2018 18:39:02 -0000 Message-ID: <20180905183902.5307.46882@emeril.freedesktop.org> References: <20180905135711.28370-1-daniel.vetter@ffwll.ch> 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: <20180905135711.28370-1-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org PT0gU2VyaWVzIERldGFpbHMgPT0KClNlcmllczogc2VyaWVzIHN0YXJ0aW5nIHdpdGggWzEvN10g ZHJtOiBBZGQgZHJtL2RybV91dGlsLmggaGVhZGVyIGZpbGUgKHJldjIpClVSTCAgIDogaHR0cHM6 Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Aub3JnL3Nlcmllcy80OTE4NC8KU3RhdGUgOiB3YXJuaW5n Cgo9PSBTdW1tYXJ5ID09CgokIGRpbSBjaGVja3BhdGNoIG9yaWdpbi9kcm0tdGlwCmVmNTM2MzA4 Yzk5MyBkcm06IEFkZCBkcm0vZHJtX3V0aWwuaCBoZWFkZXIgZmlsZQotOjE0NDogV0FSTklORzpG SUxFX1BBVEhfQ0hBTkdFUzogYWRkZWQsIG1vdmVkIG9yIGRlbGV0ZWQgZmlsZShzKSwgZG9lcyBN QUlOVEFJTkVSUyBuZWVkIHVwZGF0aW5nPwojMTQ0OiAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKCi06 MTQ5OiBXQVJOSU5HOlNQRFhfTElDRU5TRV9UQUc6IE1pc3Npbmcgb3IgbWFsZm9ybWVkIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyIHRhZyBpbiBsaW5lIDEKIzE0OTogRklMRTogaW5jbHVkZS9kcm0v ZHJtX3V0aWwuaDoxOgorLyoKCi06MTc4OiBFUlJPUjpNVUxUSVNUQVRFTUVOVF9NQUNST19VU0Vf RE9fV0hJTEU6IE1hY3JvcyBzdGFydGluZyB3aXRoIGlmIHNob3VsZCBiZSBlbmNsb3NlZCBieSBh IGRvIC0gd2hpbGUgbG9vcCB0byBhdm9pZCBwb3NzaWJsZSBpZi9lbHNlIGxvZ2ljIGRlZmVjdHMK IzE3ODogRklMRTogaW5jbHVkZS9kcm0vZHJtX3V0aWwuaDozMDoKKyNkZWZpbmUgZm9yX2VhY2hf aWYoY29uZGl0aW9uKSBpZiAoIShjb25kaXRpb24pKSB7fSBlbHNlCgotOjE3ODogV0FSTklORzpC UkFDRVM6IGJyYWNlcyB7fSBhcmUgbm90IG5lY2Vzc2FyeSBmb3Igc2luZ2xlIHN0YXRlbWVudCBi bG9ja3MKIzE3ODogRklMRTogaW5jbHVkZS9kcm0vZHJtX3V0aWwuaDozMDoKKyNkZWZpbmUgZm9y X2VhY2hfaWYoY29uZGl0aW9uKSBpZiAoIShjb25kaXRpb24pKSB7fSBlbHNlCgp0b3RhbDogMSBl cnJvcnMsIDMgd2FybmluZ3MsIDAgY2hlY2tzLCAxMDUgbGluZXMgY2hlY2tlZApjNmEyZTAwZjhj YTUgZHJtOiBEcm9wIGRybVAuaCBmcm9tIGRybV9jb25uZWN0b3IuYwotOjU2OiBXQVJOSU5HOk5P X0FVVEhPUl9TSUdOX09GRjogTWlzc2luZyBTaWduZWQtb2ZmLWJ5OiBsaW5lIGJ5IG5vbWluYWwg cGF0Y2ggYXV0aG9yICdEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPicKCnRv dGFsOiAwIGVycm9ycywgMSB3YXJuaW5ncywgMCBjaGVja3MsIDMwIGxpbmVzIGNoZWNrZWQKNmQ0 ZGE4ODQxZmQ1IGRybTogZHJvcCBkcm1QLmggaW5jbHVkZSBmcm9tIGRybV9wbGFuZS5jCi06OTQ6 IFdBUk5JTkc6Tk9fQVVUSE9SX1NJR05fT0ZGOiBNaXNzaW5nIFNpZ25lZC1vZmYtYnk6IGxpbmUg Ynkgbm9taW5hbCBwYXRjaCBhdXRob3IgJ0RhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3 bGwuY2g+JwoKdG90YWw6IDAgZXJyb3JzLCAxIHdhcm5pbmdzLCAwIGNoZWNrcywgNTUgbGluZXMg Y2hlY2tlZApjYzhhMWY4OWEzYjEgZHJtOiBkcm9wIGRybVAuaCBpbmNsdWRlIGZyb20gZHJtX2Ny dGMuYwotOjM1OiBXQVJOSU5HOk5PX0FVVEhPUl9TSUdOX09GRjogTWlzc2luZyBTaWduZWQtb2Zm LWJ5OiBsaW5lIGJ5IG5vbWluYWwgcGF0Y2ggYXV0aG9yICdEYW5pZWwgVmV0dGVyIDxkYW5pZWwu dmV0dGVyQGZmd2xsLmNoPicKCnRvdGFsOiAwIGVycm9ycywgMSB3YXJuaW5ncywgMCBjaGVja3Ms IDE3IGxpbmVzIGNoZWNrZWQKMDAzMzJmZGZiZGNhIGRybS9hdG9taWM6IHRyaW0gZHJpdmVyIGlu dGVyZmFjZS9kb2NzCi06ODg6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50 IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiM4ODogRklMRTogZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWMuYzo1MDE6CitzdGF0aWMgaW50IGRybV9hdG9taWNfY3J0Y19zZXRfcHJvcGVy dHkoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRl LCBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwKCi06MjAyOiBDSEVDSzpPUEVOX0VOREVE X0xJTkU6IExpbmVzIHNob3VsZCBub3QgZW5kIHdpdGggYSAnKCcKIzIwMjogRklMRTogZHJpdmVy cy9ncHUvZHJtL2RybV9hdG9taWMuYzoxMjUzOgorc3RhdGljIGludCBkcm1fYXRvbWljX3NldF93 cml0ZWJhY2tfZmJfZm9yX2Nvbm5lY3RvcigKCi06MzQyOiBXQVJOSU5HOk5PX0FVVEhPUl9TSUdO X09GRjogTWlzc2luZyBTaWduZWQtb2ZmLWJ5OiBsaW5lIGJ5IG5vbWluYWwgcGF0Y2ggYXV0aG9y ICdEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPicKCnRvdGFsOiAwIGVycm9y cywgMSB3YXJuaW5ncywgMiBjaGVja3MsIDMwMSBsaW5lcyBjaGVja2VkCmQ0YWVkZWI0MGYyMSBk cm06IFVwZGF0ZSB0b2RvLnJzdAo0ZWM5NDc3M2M1NTEgZHJtOiBleHRyYWN0IGRybV9hdG9taWNf dWFwaS5jCi06MTUxNTogV0FSTklORzpGSUxFX1BBVEhfQ0hBTkdFUzogYWRkZWQsIG1vdmVkIG9y IGRlbGV0ZWQgZmlsZShzKSwgZG9lcyBNQUlOVEFJTkVSUyBuZWVkIHVwZGF0aW5nPwojMTUxNTog Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CgotOjE1MjA6IFdBUk5JTkc6U1BEWF9MSUNFTlNFX1RBRzog TWlzc2luZyBvciBtYWxmb3JtZWQgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXIgdGFnIGluIGxpbmUg MQojMTUyMDogRklMRTogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jOjE6CisvKgoK LToxNTY5OiBXQVJOSU5HOlRZUE9fU1BFTExJTkc6ICdzaW1pbGlhcicgbWF5IGJlIG1pc3NwZWxs ZWQgLSBwZXJoYXBzICdzaW1pbGFyJz8KIzE1Njk6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljX3VhcGkuYzo1MDoKKyAqIGZvciBsb2FkIGRldGVjdCBvciBzaW1pbGlhci4KCi06MTYw MDogRVJST1I6Q09ERV9JTkRFTlQ6IGNvZGUgaW5kZW50IHNob3VsZCB1c2UgdGFicyB3aGVyZSBw b3NzaWJsZQojMTYwMDogRklMRTogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jOjgx OgorXkleSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih1bW9kZSksJAoK LToxNjAwOiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0 Y2ggb3BlbiBwYXJlbnRoZXNpcwojMTYwMDogRklMRTogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9t aWNfdWFwaS5jOjgxOgorCQkJZHJtX3Byb3BlcnR5X2NyZWF0ZV9ibG9iKHN0YXRlLT5jcnRjLT5k ZXYsCisJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih1bW9kZSksCgot OjE2MDE6IEVSUk9SOkNPREVfSU5ERU5UOiBjb2RlIGluZGVudCBzaG91bGQgdXNlIHRhYnMgd2hl cmUgcG9zc2libGUKIzE2MDE6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGku Yzo4MjoKK15JXkkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdW1vZGUpOyQKCi06 MTYzNDogRVJST1I6Q09ERV9JTkRFTlQ6IGNvZGUgaW5kZW50IHNob3VsZCB1c2UgdGFicyB3aGVy ZSBwb3NzaWJsZQojMTYzNDogRklMRTogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5j OjExNToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9w cm9wZXJ0eV9ibG9iICpibG9iKSQKCi06MTYzNDogV0FSTklORzpMRUFESU5HX1NQQUNFOiBwbGVh c2UsIG5vIHNwYWNlcyBhdCB0aGUgc3RhcnQgb2YgYSBsaW5lCiMxNjM0OiBGSUxFOiBkcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmM6MTE1OgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2IpJAoKLToxODc3OiBD SEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBw YXJlbnRoZXNpcwojMTg3NzogRklMRTogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5j OjM1ODoKK3N0YXRpYyBpbnQgc2V0X291dF9mZW5jZV9mb3JfY29ubmVjdG9yKHN0cnVjdCBkcm1f YXRvbWljX3N0YXRlICpzdGF0ZSwKKwkJCQkJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv ciwKCi06MTkxNzogQ0hFQ0s6Q09NUEFSSVNPTl9UT19OVUxMOiBDb21wYXJpc29uIHRvIE5VTEwg Y291bGQgYmUgd3JpdHRlbiAiIW5ld19ibG9iIgojMTkxNzogRklMRTogZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWNfdWFwaS5jOjM5ODoKKwkJaWYgKG5ld19ibG9iID09IE5VTEwpCgotOjE5Mzk6 IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVu IHBhcmVudGhlc2lzCiMxOTM5OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBp LmM6NDIwOgorc3RhdGljIGludCBkcm1fYXRvbWljX2NydGNfc2V0X3Byb3BlcnR5KHN0cnVjdCBk cm1fY3J0YyAqY3J0YywKKwkJc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSwgc3RydWN0IGRy bV9wcm9wZXJ0eSAqcHJvcGVydHksCgotOjE5NDc6IENIRUNLOkJSQUNFUzogYnJhY2VzIHt9IHNo b3VsZCBiZSB1c2VkIG9uIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50CiMxOTQ3OiBGSUxFOiBk cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmM6NDI4OgorCWlmIChwcm9wZXJ0eSA9PSBj b25maWctPnByb3BfYWN0aXZlKQpbLi4uXQorCWVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+ cHJvcF9tb2RlX2lkKSB7ClsuLi5dCisJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPmRl Z2FtbWFfbHV0X3Byb3BlcnR5KSB7ClsuLi5dCisJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25m aWctPmN0bV9wcm9wZXJ0eSkgewpbLi4uXQorCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmln LT5nYW1tYV9sdXRfcHJvcGVydHkpIHsKWy4uLl0KKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNv bmZpZy0+cHJvcF9vdXRfZmVuY2VfcHRyKSB7ClsuLi5dCisJfSBlbHNlIGlmIChjcnRjLT5mdW5j cy0+YXRvbWljX3NldF9wcm9wZXJ0eSkgewpbLi4uXQorCX0gZWxzZSB7ClsuLi5dCgotOjE5NTc6 IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVu IHBhcmVudGhlc2lzCiMxOTU3OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBp LmM6NDM4OgorCQlyZXQgPSBkcm1fYXRvbWljX3JlcGxhY2VfcHJvcGVydHlfYmxvYl9mcm9tX2lk KGRldiwKKwkJCQkJJnN0YXRlLT5kZWdhbW1hX2x1dCwKCi06MTk2NTogQ0hFQ0s6UEFSRU5USEVT SVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzE5 NjU6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYzo0NDY6CisJCXJldCA9 IGRybV9hdG9taWNfcmVwbGFjZV9wcm9wZXJ0eV9ibG9iX2Zyb21faWQoZGV2LAorCQkJCQkmc3Rh dGUtPmN0bSwKCi06MTk3MzogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQg c2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzE5NzM6IEZJTEU6IGRyaXZlcnMvZ3B1L2Ry bS9kcm1fYXRvbWljX3VhcGkuYzo0NTQ6CisJCXJldCA9IGRybV9hdG9taWNfcmVwbGFjZV9wcm9w ZXJ0eV9ibG9iX2Zyb21faWQoZGV2LAorCQkJCQkmc3RhdGUtPmdhbW1hX2x1dCwKCi06MTk5MTog V0FSTklORzpVTk5FQ0VTU0FSWV9FTFNFOiBlbHNlIGlzIG5vdCBnZW5lcmFsbHkgdXNlZnVsIGFm dGVyIGEgYnJlYWsgb3IgcmV0dXJuCiMxOTkxOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pY191YXBpLmM6NDcyOgorCQlyZXR1cm4gY3J0Yy0+ZnVuY3MtPmF0b21pY19zZXRfcHJvcGVy dHkoY3J0Yywgc3RhdGUsIHByb3BlcnR5LCB2YWwpOworCX0gZWxzZSB7CgotOjIwMDM6IENIRUNL OlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVu dGhlc2lzCiMyMDAzOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmM6NDg0 OgorZHJtX2F0b21pY19jcnRjX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCisJ CWNvbnN0IHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUsCgotOjIwMzA6IENIRUNLOlBBUkVO VEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lz CiMyMDMwOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmM6NTExOgorc3Rh dGljIGludCBkcm1fYXRvbWljX3BsYW5lX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX3BsYW5lICpw bGFuZSwKKwkJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUsIHN0cnVjdCBkcm1fcHJvcGVy dHkgKnByb3BlcnR5LAoKLToyMDM4OiBXQVJOSU5HOkxJTkVfU1BBQ0lORzogTWlzc2luZyBhIGJs YW5rIGxpbmUgYWZ0ZXIgZGVjbGFyYXRpb25zCiMyMDM4OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pY191YXBpLmM6NTE5OgorCQlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IGRy bV9mcmFtZWJ1ZmZlcl9sb29rdXAoZGV2LCBOVUxMLCB2YWwpOworCQlkcm1fYXRvbWljX3NldF9m Yl9mb3JfcGxhbmUoc3RhdGUsIGZiKTsKCi06MjA1NDogV0FSTklORzpMSU5FX1NQQUNJTkc6IE1p c3NpbmcgYSBibGFuayBsaW5lIGFmdGVyIGRlY2xhcmF0aW9ucwojMjA1NDogRklMRTogZHJpdmVy cy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jOjUzNToKKwkJc3RydWN0IGRybV9jcnRjICpjcnRj ID0gZHJtX2NydGNfZmluZChkZXYsIE5VTEwsIHZhbCk7CisJCXJldHVybiBkcm1fYXRvbWljX3Nl dF9jcnRjX2Zvcl9wbGFuZShzdGF0ZSwgY3J0Yyk7CgotOjIxMDM6IENIRUNLOlBBUkVOVEhFU0lT X0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMyMTAz OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmM6NTg0OgorZHJtX2F0b21p Y19wbGFuZV9nZXRfcHJvcGVydHkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCisJCWNvbnN0IHN0 cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlLAoKLToyMTA5OiBXQVJOSU5HOkJSQUNFUzogYnJh Y2VzIHt9IGFyZSBub3QgbmVjZXNzYXJ5IGZvciBhbnkgYXJtIG9mIHRoaXMgc3RhdGVtZW50CiMy MTA5OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmM6NTkwOgorCWlmIChw cm9wZXJ0eSA9PSBjb25maWctPnByb3BfZmJfaWQpIHsKWy4uLl0KKwl9IGVsc2UgaWYgKHByb3Bl cnR5ID09IGNvbmZpZy0+cHJvcF9pbl9mZW5jZV9mZCkgewpbLi4uXQorCX0gZWxzZSBpZiAocHJv cGVydHkgPT0gY29uZmlnLT5wcm9wX2NydGNfaWQpIHsKWy4uLl0KKwl9IGVsc2UgaWYgKHByb3Bl cnR5ID09IGNvbmZpZy0+cHJvcF9jcnRjX3gpIHsKWy4uLl0KKwl9IGVsc2UgaWYgKHByb3BlcnR5 ID09IGNvbmZpZy0+cHJvcF9jcnRjX3kpIHsKWy4uLl0KKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09 IGNvbmZpZy0+cHJvcF9jcnRjX3cpIHsKWy4uLl0KKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNv bmZpZy0+cHJvcF9jcnRjX2gpIHsKWy4uLl0KKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZp Zy0+cHJvcF9zcmNfeCkgewpbLi4uXQorCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5w cm9wX3NyY195KSB7ClsuLi5dCisJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPnByb3Bf c3JjX3cpIHsKWy4uLl0KKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+cHJvcF9zcmNf aCkgewpbLi4uXQorCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gcGxhbmUtPmFscGhhX3Byb3BlcnR5 KSB7ClsuLi5dCisJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBwbGFuZS0+YmxlbmRfbW9kZV9wcm9w ZXJ0eSkgewpbLi4uXQorCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gcGxhbmUtPnJvdGF0aW9uX3By b3BlcnR5KSB7ClsuLi5dCisJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBwbGFuZS0+enBvc19wcm9w ZXJ0eSkgewpbLi4uXQorCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gcGxhbmUtPmNvbG9yX2VuY29k aW5nX3Byb3BlcnR5KSB7ClsuLi5dCisJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBwbGFuZS0+Y29s b3JfcmFuZ2VfcHJvcGVydHkpIHsKWy4uLl0KKwl9IGVsc2UgaWYgKHBsYW5lLT5mdW5jcy0+YXRv bWljX2dldF9wcm9wZXJ0eSkgewpbLi4uXQorCX0gZWxzZSB7ClsuLi5dCgotOjIxNjQ6IENIRUNL Ok9QRU5fRU5ERURfTElORTogTGluZXMgc2hvdWxkIG5vdCBlbmQgd2l0aCBhICcoJwojMjE2NDog RklMRTogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jOjY0NToKK3N0YXRpYyBpbnQg ZHJtX2F0b21pY19zZXRfd3JpdGViYWNrX2ZiX2Zvcl9jb25uZWN0b3IoCgotOjIxODY6IENIRUNL OlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVu dGhlc2lzCiMyMTg2OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmM6NjY3 Ogorc3RhdGljIGludCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHkoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciwKKwkJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKnN0 YXRlLCBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwKCi06MjE5NDogV0FSTklORzpMSU5F X1NQQUNJTkc6IE1pc3NpbmcgYSBibGFuayBsaW5lIGFmdGVyIGRlY2xhcmF0aW9ucwojMjE5NDog RklMRTogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jOjY3NToKKwkJc3RydWN0IGRy bV9jcnRjICpjcnRjID0gZHJtX2NydGNfZmluZChkZXYsIE5VTEwsIHZhbCk7CisJCXJldHVybiBk cm1fYXRvbWljX3NldF9jcnRjX2Zvcl9jb25uZWN0b3Ioc3RhdGUsIGNydGMpOwoKLToyMjU0OiBX QVJOSU5HOkxJTkVfU1BBQ0lORzogTWlzc2luZyBhIGJsYW5rIGxpbmUgYWZ0ZXIgZGVjbGFyYXRp b25zCiMyMjU0OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmM6NzM1Ogor CQlpbnQgcmV0ID0gZHJtX2F0b21pY19zZXRfd3JpdGViYWNrX2ZiX2Zvcl9jb25uZWN0b3Ioc3Rh dGUsIGZiKTsKKwkJaWYgKGZiKQoKLToyMjc3OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6 IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMjI3NzogRklMRTogZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jOjc1ODoKK2RybV9hdG9taWNfY29ubmVjdG9y X2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAorCQljb25zdCBz dHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqc3RhdGUsCgotOjIzMzc6IENIRUNLOlBBUkVOVEhF U0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMy MzM3OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmM6ODE4OgoraW50IGRy bV9hdG9taWNfZ2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9iaiwKKwkJc3Ry dWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksIHVpbnQ2NF90ICp2YWwpCgotOjIzNDU6IFdBUk5J Tkc6TElORV9TUEFDSU5HOiBNaXNzaW5nIGEgYmxhbmsgbGluZSBhZnRlciBkZWNsYXJhdGlvbnMK IzIzNDU6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYzo4MjY6CisJCXN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSBvYmpfdG9fY29ubmVjdG9yKG9iaik7CisJ CVdBUk5fT04oIWRybV9tb2Rlc2V0X2lzX2xvY2tlZCgmZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0 aW9uX211dGV4KSk7CgotOjIzNDc6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25t ZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMyMzQ3OiBGSUxFOiBkcml2ZXJzL2dw dS9kcm0vZHJtX2F0b21pY191YXBpLmM6ODI4OgorCQlyZXQgPSBkcm1fYXRvbWljX2Nvbm5lY3Rv cl9nZXRfcHJvcGVydHkoY29ubmVjdG9yLAorCQkJCWNvbm5lY3Rvci0+c3RhdGUsIHByb3BlcnR5 LCB2YWwpOwoKLToyMzUyOiBXQVJOSU5HOkxJTkVfU1BBQ0lORzogTWlzc2luZyBhIGJsYW5rIGxp bmUgYWZ0ZXIgZGVjbGFyYXRpb25zCiMyMzUyOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pY191YXBpLmM6ODMzOgorCQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBvYmpfdG9fY3J0Yyhv YmopOworCQlXQVJOX09OKCFkcm1fbW9kZXNldF9pc19sb2NrZWQoJmNydGMtPm11dGV4KSk7Cgot OjIzNTQ6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRj aCBvcGVuIHBhcmVudGhlc2lzCiMyMzU0OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Y191YXBpLmM6ODM1OgorCQlyZXQgPSBkcm1fYXRvbWljX2NydGNfZ2V0X3Byb3BlcnR5KGNydGMs CisJCQkJY3J0Yy0+c3RhdGUsIHByb3BlcnR5LCB2YWwpOwoKLToyMzU5OiBXQVJOSU5HOkxJTkVf U1BBQ0lORzogTWlzc2luZyBhIGJsYW5rIGxpbmUgYWZ0ZXIgZGVjbGFyYXRpb25zCiMyMzU5OiBG SUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmM6ODQwOgorCQlzdHJ1Y3QgZHJt X3BsYW5lICpwbGFuZSA9IG9ial90b19wbGFuZShvYmopOworCQlXQVJOX09OKCFkcm1fbW9kZXNl dF9pc19sb2NrZWQoJnBsYW5lLT5tdXRleCkpOwoKLToyMzYxOiBDSEVDSzpQQVJFTlRIRVNJU19B TElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMjM2MTog RklMRTogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jOjg0MjoKKwkJcmV0ID0gZHJt X2F0b21pY19wbGFuZV9nZXRfcHJvcGVydHkocGxhbmUsCisJCQkJcGxhbmUtPnN0YXRlLCBwcm9w ZXJ0eSwgdmFsKTsKCi06MjM3NjogQ0hFQ0s6T1BFTl9FTkRFRF9MSU5FOiBMaW5lcyBzaG91bGQg bm90IGVuZCB3aXRoIGEgJygnCiMyMzc2OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Y191YXBpLmM6ODU3Ogorc3RhdGljIHN0cnVjdCBkcm1fcGVuZGluZ192YmxhbmtfZXZlbnQgKmNy ZWF0ZV92YmxhbmtfZXZlbnQoCgotOjIzODE6IFdBUk5JTkc6U0laRU9GX1BBUkVOVEhFU0lTOiBz aXplb2YgKmUgc2hvdWxkIGJlIHNpemVvZigqZSkKIzIzODE6IEZJTEU6IGRyaXZlcnMvZ3B1L2Ry bS9kcm1fYXRvbWljX3VhcGkuYzo4NjI6CisJZSA9IGt6YWxsb2Moc2l6ZW9mICplLCBHRlBfS0VS TkVMKTsKCi06MjQ2NjogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hv dWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzI0NjY6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX3VhcGkuYzo5NDc6CisJCXJldCA9IGRybV9hdG9taWNfY29ubmVjdG9yX3NldF9w cm9wZXJ0eShjb25uZWN0b3IsCisJCQkJY29ubmVjdG9yX3N0YXRlLCBwcm9wLCBwcm9wX3ZhbHVl KTsKCi06MjQ4MDogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxk IG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzI0ODA6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljX3VhcGkuYzo5NjE6CisJCXJldCA9IGRybV9hdG9taWNfY3J0Y19zZXRfcHJvcGVydHko Y3J0YywKKwkJCQljcnRjX3N0YXRlLCBwcm9wLCBwcm9wX3ZhbHVlKTsKCi06MjQ5NDogQ0hFQ0s6 UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50 aGVzaXMKIzI0OTQ6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYzo5NzU6 CisJCXJldCA9IGRybV9hdG9taWNfcGxhbmVfc2V0X3Byb3BlcnR5KHBsYW5lLAorCQkJCXBsYW5l X3N0YXRlLCBwcm9wLCBwcm9wX3ZhbHVlKTsKCi06MjUxMDogV0FSTklORzpUWVBPX1NQRUxMSU5H OiAndHJhbnNmZXJlZCcgbWF5IGJlIG1pc3NwZWxsZWQgLSBwZXJoYXBzICd0cmFuc2ZlcnJlZCc/ CiMyNTEwOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmM6OTkxOgorICog YmV0d2VlbiBkZXZpY2VzLiBBIEZlbmNlIG9yIGEgZ3JvdXAgb2YgZmVuY2VzIGFyZSB0cmFuc2Zl cmVkIHRvL2Zyb20KCi06MjU4MjogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1l bnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzI1ODI6IEZJTEU6IGRyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljX3VhcGkuYzoxMDYzOgorc3RhdGljIGludCBwcmVwYXJlX3NpZ25hbGlu ZyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorCQkJCSAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUg KnN0YXRlLAoKLToyNzg5OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBz aG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMjc4OTogRklMRTogZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWNfdWFwaS5jOjEyNzA6CisJaWYgKChhcmctPmZsYWdzICYgRFJNX01PREVfUEFH RV9GTElQX0FTWU5DKSAmJgorCQkJIWRldi0+bW9kZV9jb25maWcuYXN5bmNfcGFnZV9mbGlwKQoK LToyNzk0OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0 Y2ggb3BlbiBwYXJlbnRoZXNpcwojMjc5NDogRklMRTogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9t aWNfdWFwaS5jOjEyNzU6CisJaWYgKChhcmctPmZsYWdzICYgRFJNX01PREVfQVRPTUlDX1RFU1Rf T05MWSkgJiYKKwkJCShhcmctPmZsYWdzICYgRFJNX01PREVfUEFHRV9GTElQX0VWRU5UKSkKCi06 MzA3OTogV0FSTklORzpTUERYX0xJQ0VOU0VfVEFHOiBNaXNzaW5nIG9yIG1hbGZvcm1lZCBTUERY LUxpY2Vuc2UtSWRlbnRpZmllciB0YWcgaW4gbGluZSAxCiMzMDc5OiBGSUxFOiBpbmNsdWRlL2Ry bS9kcm1fYXRvbWljX3VhcGkuaDoxOgorLyoKCi06MzEzNjogV0FSTklORzpOT19BVVRIT1JfU0lH Tl9PRkY6IE1pc3NpbmcgU2lnbmVkLW9mZi1ieTogbGluZSBieSBub21pbmFsIHBhdGNoIGF1dGhv ciAnRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4nCgp0b3RhbDogMyBlcnJv cnMsIDE3IHdhcm5pbmdzLCAyNSBjaGVja3MsIDI0NTggbGluZXMgY2hlY2tlZAoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==