From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: [PATCH i-g-t 6/7] lib/igt_aux: Add helper to query suspend-to-mem modes Date: Wed, 13 Nov 2019 17:49:12 +0200 Message-ID: <20191113154913.8787-6-mika.kuoppala@linux.intel.com> References: <20191113154913.8787-1-mika.kuoppala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20191113154913.8787-1-mika.kuoppala@linux.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 Cc: igt-dev@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgoKQWRkIGEgaGVscGVyIHRvIHF1 ZXJ5IHRoZSBzdXBwb3J0ZWQgYW5kIGN1cnJlbnRseSBzZWxlY3RlZApzdXNwZW5kLXRvLW1lbSBt b2Rlcy4KCnYyOgotIEZpeCBmb3Igb2xkIGtlcm5lbHMgd2hlcmUgdGhlIG1lbV9zbGVlcCBzeXNm cyBmaWxlIGRpZG4ndCB5ZXQgZXhpc3QuCgpTaWduZWQtb2ZmLWJ5OiBJbXJlIERlYWsgPGltcmUu ZGVha0BpbnRlbC5jb20+Ci0tLQogbGliL2lndF9hdXguYyB8IDgxICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogbGliL2lndF9hdXguaCB8IDI0ICsr KysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxMDUgaW5zZXJ0aW9ucygrKQoKZGlmZiAt LWdpdCBhL2xpYi9pZ3RfYXV4LmMgYi9saWIvaWd0X2F1eC5jCmluZGV4IDU3OGY4NTc5Li5mMmNi MzI0NyAxMDA2NDQKLS0tIGEvbGliL2lndF9hdXguYworKysgYi9saWIvaWd0X2F1eC5jCkBAIC04 MjcsNiArODI3LDg3IEBAIHN0YXRpYyB1aW50MzJfdCBnZXRfc3VwcG9ydGVkX3N1c3BlbmRfc3Rh dGVzKGludCBwb3dlcl9kaXIpCiAJcmV0dXJuIHN0YXRlX21hc2s7CiB9CiAKK3N0YXRpYyBjb25z dCBjaGFyICpzdXNwZW5kX3RvX21lbV9tb2RlX25hbWVbXSA9IHsKKwlbU1VTUEVORF9UT19NRU1f UzJJRExFXSA9ICJzMmlkbGUiLAorCVtTVVNQRU5EX1RPX01FTV9TSEFMTE9XXSA9ICJzaGFsbG93 IiwKKwlbU1VTUEVORF9UT19NRU1fREVFUF0gPSAiZGVlcCIsCit9OworCitzdGF0aWMgdWludDMy X3QKK2dldF9zdXBwb3J0ZWRfc3VzcGVuZF90b19tZW1fbW9kZXMoaW50IHBvd2VyX2RpciwKKwkJ CQkgICBlbnVtIGlndF9zdXNwZW5kX3RvX21lbV9tb2RlICpzZWxlY3RlZF9tb2RlKQoreworCWNo YXIgKm1vZGVzOworCWNoYXIgKm1vZGVfbmFtZTsKKwl1aW50MzJfdCBtb2RlX21hc2s7CisJYm9v bCBzZWxlY3RlZF9mb3VuZCA9IGZhbHNlOworCisJLyoKKwkgKiBPdGhlciBtb2RlcyB0aGFuIGRl ZXAgc2xlZXAgd2VyZSBvbmx5IGludHJvZHVjZWQgd2l0aCB0aGUgbWVtX3NsZWVwCisJICogc3lz ZnMgZmlsZS4KKwkgKi8KKwltb2RlcyA9IGlndF9zeXNmc19nZXQocG93ZXJfZGlyLCAibWVtX3Ns ZWVwIik7CisJaWYgKCFtb2RlcykgeworCQkqc2VsZWN0ZWRfbW9kZSA9IFNVU1BFTkRfVE9fTUVN X0RFRVA7CisJCXJldHVybiAxIDw8IFNVU1BFTkRfVE9fTUVNX0RFRVA7CisJfQorCisJbW9kZV9t YXNrID0gMDsKKwlmb3IgKG1vZGVfbmFtZSA9IHN0cnRvayhtb2RlcywgIiAiKTsgbW9kZV9uYW1l OworCSAgICAgbW9kZV9uYW1lID0gc3RydG9rKE5VTEwsICIgIikpIHsKKwkJZW51bSBpZ3Rfc3Vz cGVuZF90b19tZW1fbW9kZSBtb2RlOworCQlib29sIHNlbGVjdGVkID0gZmFsc2U7CisKKwkJaWYg KG1vZGVfbmFtZVswXSA9PSAnWycpIHsKKwkJCWNoYXIgKmUgPSAmbW9kZV9uYW1lW3N0cmxlbiht b2RlX25hbWUpIC0gMV07CisKKwkJCWlndF9hc3NlcnQoIXNlbGVjdGVkX2ZvdW5kKTsKKwkJCWln dF9hc3NlcnQoKmUgPT0gJ10nKTsKKwkJCW1vZGVfbmFtZSsrOworCQkJKmUgPSAnXDAnOworCisJ CQlzZWxlY3RlZCA9IHRydWU7CisJCX0KKworCQlmb3IgKG1vZGUgPSBTVVNQRU5EX1RPX01FTV9T MklETEU7CisJCSAgICAgbW9kZSA8IFNVU1BFTkRfVE9fTUVNX05VTTsKKwkJICAgICBtb2RlKysp CisJCQlpZiAoc3RyY21wKG1vZGVfbmFtZSwKKwkJCQkgICBzdXNwZW5kX3RvX21lbV9tb2RlX25h bWVbbW9kZV0pID09IDApCisJCQkJYnJlYWs7CisJCWlndF9hc3NlcnQobW9kZSA8IFNVU1BFTkRf VE9fTUVNX05VTSk7CisJCW1vZGVfbWFzayB8PSAxIDw8IG1vZGU7CisJCWlmIChzZWxlY3RlZCkg eworCQkJc2VsZWN0ZWRfZm91bmQgPSB0cnVlOworCQkJaWYgKHNlbGVjdGVkX21vZGUpCisJCQkJ KnNlbGVjdGVkX21vZGUgPSBtb2RlOworCQl9CisJfQorCisJaWd0X2Fzc2VydChzZWxlY3RlZF9m b3VuZCk7CisKKwlmcmVlKG1vZGVzKTsKKworCXJldHVybiBtb2RlX21hc2s7Cit9CisKKy8qKgor ICogaWd0X2dldF9zdXNwZW5kX3RvX21lbV9tb2RlOgorICoKKyAqIFJldHVybnMgdGhlIGN1cnJl bnRseSBzZWxlY3RlZCBAaWd0X3N1c3BlbmRfdG9fbWVtX21vZGUuCisgKi8KK2VudW0gaWd0X3N1 c3BlbmRfdG9fbWVtX21vZGUgaWd0X2dldF9zdXNwZW5kX3RvX21lbV9tb2RlKHZvaWQpCit7CisJ aW50IHBvd2VyX2RpcjsKKwllbnVtIGlndF9zdXNwZW5kX3RvX21lbV9tb2RlIG1vZGU7CisKKwlp Z3RfcmVxdWlyZSgocG93ZXJfZGlyID0gb3BlbigiL3N5cy9wb3dlciIsIE9fUkRPTkxZKSkgPj0g MCk7CisJKHZvaWQpZ2V0X3N1cHBvcnRlZF9zdXNwZW5kX3RvX21lbV9tb2Rlcyhwb3dlcl9kaXIs ICZtb2RlKTsKKwljbG9zZShwb3dlcl9kaXIpOworCisJcmV0dXJuIG1vZGU7Cit9CisKIC8qKgog ICogaWd0X3N5c3RlbV9zdXNwZW5kX2F1dG9yZXN1bWU6CiAgKiBAc3RhdGU6IGFuICNpZ3Rfc3Vz cGVuZF9zdGF0ZSwgdGhlIHRhcmdldCBzdXNwZW5kIHN0YXRlCmRpZmYgLS1naXQgYS9saWIvaWd0 X2F1eC5oIGIvbGliL2lndF9hdXguaAppbmRleCAwNGQyMjkwNC4uN2NjYWE4YzQgMTAwNjQ0Ci0t LSBhL2xpYi9pZ3RfYXV4LmgKKysrIGIvbGliL2lndF9hdXguaApAQCAtMTg0LDEwICsxODQsMzQg QEAgZW51bSBpZ3Rfc3VzcGVuZF90ZXN0IHsKIAlTVVNQRU5EX1RFU1RfTlVNLAogfTsKIAorLyoq CisgKiBpZ3Rfc3VzcGVuZF90b19tZW1fbW9kZToKKyAqIEBTVVNQRU5EX1RPX01FTV9TMklETEU6 IHN1c3BlbmQgdG8gbWVtIG1hcHMgdG8gQFNVU1BFTkRfU1RBVEVfRlJFRVpFCisgKiBAU1VTUEVO RF9UT19NRU1fU0hBTExPVzogc3VzcGVuZCB0byBtZW0gbWFwcyB0byBAU1VTUEVORF9TVEFURV9T VEFOREJZCisgKiBAU1VTUEVORF9UT19NRU1fREVFUDogc3VzcGVuZCB0byBtZW0gd2lsbCB0YXJn ZXQgdGhlIEFDUEkgUzMgc3RhdGUKKyAqCisgKiBUaGUgdGFyZ2V0IHN5c3RlbSBzdGF0ZSB3aGVu IHN1c3BlbmRpbmcgdG8gbWVtOgorICogLSBTdXNwZW5kaW5nIHdpdGggQFNVU1BFTkRfU1RBVEVf TUVNL0BTVVNQRU5EX1RPX01FTV9TMklETEUgaXMgZXF1aXZhbGVudCB0bworICogICBzdXNwZW5k aW5nIHdpdGggQFNVU1BFTkRfU1RBVEVfRlJFRVpFLgorICogLSBTdXNwZW5kaW5nIHdpdGggQFNV U1BFTkRfU1RBVEVfTUVNL0BTVVNQRU5EX1RPX01FTV9TSEFMTE9XIGlzIGVxdWl2YWxlbnQgdG8K KyAqICAgc3VzcGVuZGluZyB3aXRoIEBTVVNQRU5EX1NUQVRFX1NUQU5EQlkuCisgKiAtIFN1c3Bl bmRpbmcgd2l0aCBAU1VTUEVORF9TVEFURV9NRU0vQFNVU1BFTkRfVE9fTUVNX0RFRVAgd2lsbCB0 YXJnZXQgdGhlCisgKiAgIEFDUEkgUzMgc3RhdGUuCisgKi8KK2VudW0gaWd0X3N1c3BlbmRfdG9f bWVtX21vZGUgeworCVNVU1BFTkRfVE9fTUVNX1MySURMRSwKKwlTVVNQRU5EX1RPX01FTV9TSEFM TE9XLAorCVNVU1BFTkRfVE9fTUVNX0RFRVAsCisKKwkvKjwgcHJpdmF0ZSA+Ki8KKwlTVVNQRU5E X1RPX01FTV9OVU0sCit9OworCiB2b2lkIGlndF9zeXN0ZW1fc3VzcGVuZF9hdXRvcmVzdW1lKGVu dW0gaWd0X3N1c3BlbmRfc3RhdGUgc3RhdGUsCiAJCQkJICAgZW51bSBpZ3Rfc3VzcGVuZF90ZXN0 IHRlc3QpOwogdm9pZCBpZ3Rfc2V0X2F1dG9yZXN1bWVfZGVsYXkoaW50IGRlbGF5X3NlY3MpOwog aW50IGlndF9nZXRfYXV0b3Jlc3VtZV9kZWxheShlbnVtIGlndF9zdXNwZW5kX3N0YXRlIHN0YXRl KTsKK2VudW0gaWd0X3N1c3BlbmRfdG9fbWVtX21vZGUgaWd0X2dldF9zdXNwZW5kX3RvX21lbV9t b2RlKHZvaWQpOwogCiAvKiBkcm9wcGluZyBwcml2aWxlZGdlcyAqLwogdm9pZCBpZ3RfZHJvcF9y b290KHZvaWQpOwotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZng= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6D4D0C43141 for ; Wed, 13 Nov 2019 16:26:47 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 29A7122CA0 for ; Wed, 13 Nov 2019 15:49:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 29A7122CA0 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D00A16ED7E; Wed, 13 Nov 2019 15:49:38 +0000 (UTC) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 414F26ED70; Wed, 13 Nov 2019 15:49:31 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Nov 2019 07:49:30 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,300,1569308400"; d="scan'208";a="379263996" Received: from rosetta.fi.intel.com ([10.237.72.194]) by orsmga005.jf.intel.com with ESMTP; 13 Nov 2019 07:49:27 -0800 Received: by rosetta.fi.intel.com (Postfix, from userid 1000) id 7AF778402E8; Wed, 13 Nov 2019 17:49:17 +0200 (EET) From: Mika Kuoppala To: intel-gfx@lists.freedesktop.org Date: Wed, 13 Nov 2019 17:49:12 +0200 Message-Id: <20191113154913.8787-6-mika.kuoppala@linux.intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191113154913.8787-1-mika.kuoppala@linux.intel.com> References: <20191113154913.8787-1-mika.kuoppala@linux.intel.com> Subject: [Intel-gfx] [PATCH i-g-t 6/7] lib/igt_aux: Add helper to query suspend-to-mem modes X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: igt-dev@lists.freedesktop.org MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191113154912.irXYQKhhZhExlxJ-96oLHOsnLm4bETzzCyayQ-tu4SM@z> RnJvbTogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgoKQWRkIGEgaGVscGVyIHRvIHF1 ZXJ5IHRoZSBzdXBwb3J0ZWQgYW5kIGN1cnJlbnRseSBzZWxlY3RlZApzdXNwZW5kLXRvLW1lbSBt b2Rlcy4KCnYyOgotIEZpeCBmb3Igb2xkIGtlcm5lbHMgd2hlcmUgdGhlIG1lbV9zbGVlcCBzeXNm cyBmaWxlIGRpZG4ndCB5ZXQgZXhpc3QuCgpTaWduZWQtb2ZmLWJ5OiBJbXJlIERlYWsgPGltcmUu ZGVha0BpbnRlbC5jb20+Ci0tLQogbGliL2lndF9hdXguYyB8IDgxICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogbGliL2lndF9hdXguaCB8IDI0ICsr KysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxMDUgaW5zZXJ0aW9ucygrKQoKZGlmZiAt LWdpdCBhL2xpYi9pZ3RfYXV4LmMgYi9saWIvaWd0X2F1eC5jCmluZGV4IDU3OGY4NTc5Li5mMmNi MzI0NyAxMDA2NDQKLS0tIGEvbGliL2lndF9hdXguYworKysgYi9saWIvaWd0X2F1eC5jCkBAIC04 MjcsNiArODI3LDg3IEBAIHN0YXRpYyB1aW50MzJfdCBnZXRfc3VwcG9ydGVkX3N1c3BlbmRfc3Rh dGVzKGludCBwb3dlcl9kaXIpCiAJcmV0dXJuIHN0YXRlX21hc2s7CiB9CiAKK3N0YXRpYyBjb25z dCBjaGFyICpzdXNwZW5kX3RvX21lbV9tb2RlX25hbWVbXSA9IHsKKwlbU1VTUEVORF9UT19NRU1f UzJJRExFXSA9ICJzMmlkbGUiLAorCVtTVVNQRU5EX1RPX01FTV9TSEFMTE9XXSA9ICJzaGFsbG93 IiwKKwlbU1VTUEVORF9UT19NRU1fREVFUF0gPSAiZGVlcCIsCit9OworCitzdGF0aWMgdWludDMy X3QKK2dldF9zdXBwb3J0ZWRfc3VzcGVuZF90b19tZW1fbW9kZXMoaW50IHBvd2VyX2RpciwKKwkJ CQkgICBlbnVtIGlndF9zdXNwZW5kX3RvX21lbV9tb2RlICpzZWxlY3RlZF9tb2RlKQoreworCWNo YXIgKm1vZGVzOworCWNoYXIgKm1vZGVfbmFtZTsKKwl1aW50MzJfdCBtb2RlX21hc2s7CisJYm9v bCBzZWxlY3RlZF9mb3VuZCA9IGZhbHNlOworCisJLyoKKwkgKiBPdGhlciBtb2RlcyB0aGFuIGRl ZXAgc2xlZXAgd2VyZSBvbmx5IGludHJvZHVjZWQgd2l0aCB0aGUgbWVtX3NsZWVwCisJICogc3lz ZnMgZmlsZS4KKwkgKi8KKwltb2RlcyA9IGlndF9zeXNmc19nZXQocG93ZXJfZGlyLCAibWVtX3Ns ZWVwIik7CisJaWYgKCFtb2RlcykgeworCQkqc2VsZWN0ZWRfbW9kZSA9IFNVU1BFTkRfVE9fTUVN X0RFRVA7CisJCXJldHVybiAxIDw8IFNVU1BFTkRfVE9fTUVNX0RFRVA7CisJfQorCisJbW9kZV9t YXNrID0gMDsKKwlmb3IgKG1vZGVfbmFtZSA9IHN0cnRvayhtb2RlcywgIiAiKTsgbW9kZV9uYW1l OworCSAgICAgbW9kZV9uYW1lID0gc3RydG9rKE5VTEwsICIgIikpIHsKKwkJZW51bSBpZ3Rfc3Vz cGVuZF90b19tZW1fbW9kZSBtb2RlOworCQlib29sIHNlbGVjdGVkID0gZmFsc2U7CisKKwkJaWYg KG1vZGVfbmFtZVswXSA9PSAnWycpIHsKKwkJCWNoYXIgKmUgPSAmbW9kZV9uYW1lW3N0cmxlbiht b2RlX25hbWUpIC0gMV07CisKKwkJCWlndF9hc3NlcnQoIXNlbGVjdGVkX2ZvdW5kKTsKKwkJCWln dF9hc3NlcnQoKmUgPT0gJ10nKTsKKwkJCW1vZGVfbmFtZSsrOworCQkJKmUgPSAnXDAnOworCisJ CQlzZWxlY3RlZCA9IHRydWU7CisJCX0KKworCQlmb3IgKG1vZGUgPSBTVVNQRU5EX1RPX01FTV9T MklETEU7CisJCSAgICAgbW9kZSA8IFNVU1BFTkRfVE9fTUVNX05VTTsKKwkJICAgICBtb2RlKysp CisJCQlpZiAoc3RyY21wKG1vZGVfbmFtZSwKKwkJCQkgICBzdXNwZW5kX3RvX21lbV9tb2RlX25h bWVbbW9kZV0pID09IDApCisJCQkJYnJlYWs7CisJCWlndF9hc3NlcnQobW9kZSA8IFNVU1BFTkRf VE9fTUVNX05VTSk7CisJCW1vZGVfbWFzayB8PSAxIDw8IG1vZGU7CisJCWlmIChzZWxlY3RlZCkg eworCQkJc2VsZWN0ZWRfZm91bmQgPSB0cnVlOworCQkJaWYgKHNlbGVjdGVkX21vZGUpCisJCQkJ KnNlbGVjdGVkX21vZGUgPSBtb2RlOworCQl9CisJfQorCisJaWd0X2Fzc2VydChzZWxlY3RlZF9m b3VuZCk7CisKKwlmcmVlKG1vZGVzKTsKKworCXJldHVybiBtb2RlX21hc2s7Cit9CisKKy8qKgor ICogaWd0X2dldF9zdXNwZW5kX3RvX21lbV9tb2RlOgorICoKKyAqIFJldHVybnMgdGhlIGN1cnJl bnRseSBzZWxlY3RlZCBAaWd0X3N1c3BlbmRfdG9fbWVtX21vZGUuCisgKi8KK2VudW0gaWd0X3N1 c3BlbmRfdG9fbWVtX21vZGUgaWd0X2dldF9zdXNwZW5kX3RvX21lbV9tb2RlKHZvaWQpCit7CisJ aW50IHBvd2VyX2RpcjsKKwllbnVtIGlndF9zdXNwZW5kX3RvX21lbV9tb2RlIG1vZGU7CisKKwlp Z3RfcmVxdWlyZSgocG93ZXJfZGlyID0gb3BlbigiL3N5cy9wb3dlciIsIE9fUkRPTkxZKSkgPj0g MCk7CisJKHZvaWQpZ2V0X3N1cHBvcnRlZF9zdXNwZW5kX3RvX21lbV9tb2Rlcyhwb3dlcl9kaXIs ICZtb2RlKTsKKwljbG9zZShwb3dlcl9kaXIpOworCisJcmV0dXJuIG1vZGU7Cit9CisKIC8qKgog ICogaWd0X3N5c3RlbV9zdXNwZW5kX2F1dG9yZXN1bWU6CiAgKiBAc3RhdGU6IGFuICNpZ3Rfc3Vz cGVuZF9zdGF0ZSwgdGhlIHRhcmdldCBzdXNwZW5kIHN0YXRlCmRpZmYgLS1naXQgYS9saWIvaWd0 X2F1eC5oIGIvbGliL2lndF9hdXguaAppbmRleCAwNGQyMjkwNC4uN2NjYWE4YzQgMTAwNjQ0Ci0t LSBhL2xpYi9pZ3RfYXV4LmgKKysrIGIvbGliL2lndF9hdXguaApAQCAtMTg0LDEwICsxODQsMzQg QEAgZW51bSBpZ3Rfc3VzcGVuZF90ZXN0IHsKIAlTVVNQRU5EX1RFU1RfTlVNLAogfTsKIAorLyoq CisgKiBpZ3Rfc3VzcGVuZF90b19tZW1fbW9kZToKKyAqIEBTVVNQRU5EX1RPX01FTV9TMklETEU6 IHN1c3BlbmQgdG8gbWVtIG1hcHMgdG8gQFNVU1BFTkRfU1RBVEVfRlJFRVpFCisgKiBAU1VTUEVO RF9UT19NRU1fU0hBTExPVzogc3VzcGVuZCB0byBtZW0gbWFwcyB0byBAU1VTUEVORF9TVEFURV9T VEFOREJZCisgKiBAU1VTUEVORF9UT19NRU1fREVFUDogc3VzcGVuZCB0byBtZW0gd2lsbCB0YXJn ZXQgdGhlIEFDUEkgUzMgc3RhdGUKKyAqCisgKiBUaGUgdGFyZ2V0IHN5c3RlbSBzdGF0ZSB3aGVu IHN1c3BlbmRpbmcgdG8gbWVtOgorICogLSBTdXNwZW5kaW5nIHdpdGggQFNVU1BFTkRfU1RBVEVf TUVNL0BTVVNQRU5EX1RPX01FTV9TMklETEUgaXMgZXF1aXZhbGVudCB0bworICogICBzdXNwZW5k aW5nIHdpdGggQFNVU1BFTkRfU1RBVEVfRlJFRVpFLgorICogLSBTdXNwZW5kaW5nIHdpdGggQFNV U1BFTkRfU1RBVEVfTUVNL0BTVVNQRU5EX1RPX01FTV9TSEFMTE9XIGlzIGVxdWl2YWxlbnQgdG8K KyAqICAgc3VzcGVuZGluZyB3aXRoIEBTVVNQRU5EX1NUQVRFX1NUQU5EQlkuCisgKiAtIFN1c3Bl bmRpbmcgd2l0aCBAU1VTUEVORF9TVEFURV9NRU0vQFNVU1BFTkRfVE9fTUVNX0RFRVAgd2lsbCB0 YXJnZXQgdGhlCisgKiAgIEFDUEkgUzMgc3RhdGUuCisgKi8KK2VudW0gaWd0X3N1c3BlbmRfdG9f bWVtX21vZGUgeworCVNVU1BFTkRfVE9fTUVNX1MySURMRSwKKwlTVVNQRU5EX1RPX01FTV9TSEFM TE9XLAorCVNVU1BFTkRfVE9fTUVNX0RFRVAsCisKKwkvKjwgcHJpdmF0ZSA+Ki8KKwlTVVNQRU5E X1RPX01FTV9OVU0sCit9OworCiB2b2lkIGlndF9zeXN0ZW1fc3VzcGVuZF9hdXRvcmVzdW1lKGVu dW0gaWd0X3N1c3BlbmRfc3RhdGUgc3RhdGUsCiAJCQkJICAgZW51bSBpZ3Rfc3VzcGVuZF90ZXN0 IHRlc3QpOwogdm9pZCBpZ3Rfc2V0X2F1dG9yZXN1bWVfZGVsYXkoaW50IGRlbGF5X3NlY3MpOwog aW50IGlndF9nZXRfYXV0b3Jlc3VtZV9kZWxheShlbnVtIGlndF9zdXNwZW5kX3N0YXRlIHN0YXRl KTsKK2VudW0gaWd0X3N1c3BlbmRfdG9fbWVtX21vZGUgaWd0X2dldF9zdXNwZW5kX3RvX21lbV9t b2RlKHZvaWQpOwogCiAvKiBkcm9wcGluZyBwcml2aWxlZGdlcyAqLwogdm9pZCBpZ3RfZHJvcF9y b290KHZvaWQpOwotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZng=