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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id EE0D9C433EF for ; Thu, 25 Nov 2021 12:52:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=ACOdBOk/caehVh0owxfF3Ve4VDJzG+1BtKo+uYiSetg=; b=CLi/huQwXqym2x eNGJl4Fksmq+oLC3Zh2tbsE6GjWJyLIPv2L70PEIcvPRvkTEWGmK+bwesqye+jRtGKvthuqkqMDYe qcKr7PUPpoUuR1pqtO3qpCHfs787DaKEcmalXrBAhFITEzDr8LUSK0u8pD7EA/3B+ajh6K2uKUSH/ Rv7yAdSaKLrPLpgltyL7p9wcQRMDjbNNkPvCqsFNrrh4ZelcNK41OVB7koCeByng3k8GFKifcjB6L 8hfR0kjKrxV76sT9BajhEBo8WRJBgZO/Bq76zUg4/7xmJPCVBLSYDXb/Q7HjaDGC7+gpGj5l5C/DX YN5Mk7p7/uHf27yPTLrA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mqECk-007UYK-1c; Thu, 25 Nov 2021 12:50:22 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mqE99-007Sqa-Bg for linux-arm-kernel@lists.infradead.org; Thu, 25 Nov 2021 12:46:41 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id AFF5D6113D; Thu, 25 Nov 2021 12:46:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1637844399; bh=G2rKjdlzxb1XNs2lbCrBQXhcMuLp67aIGgdoCkybPjY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=eEq9SR3JH7/OWh15A1+wZOPKWoTqJbLSnrH+8yz3ixHgFXG37Tq+W1uFKWpszTXRq XlP4+1v9Q7gzV9LE9RXylQmGsaWIVLcxLg63XATtmj430LS1g4o4EDWAcGuwgYKCKK BpyzTsP4MMoujXGVuohFEClGOtXEsHizpDRIJuRm6RbyS9ILXJXPHyum4FH/zmvnNy 5/G6MlhCqrSE5fREYPd7Xqxy/ciNCzznS+GxQq9G8PEO2QVWJ3WV8w3djJNE8mcfd6 /G5Dx4JntuZvmVP6Wtj9vWJvBKnhkAqtdAYaQ9gUAidalAqqTSaOH5im36C3HPVcrC y7fTtPZz9q7Fg== Received: by pali.im (Postfix) id 6EA43EDE; Thu, 25 Nov 2021 13:46:38 +0100 (CET) From: =?UTF-8?q?Pali=20Roh=C3=A1r?= To: Thomas Petazzoni , Lorenzo Pieralisi , Rob Herring , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Bjorn Helgaas , =?UTF-8?q?Marek=20Beh=C3=BAn?= Cc: linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 08/15] PCI: mvebu: Propagate errors when updating PCI_IO_BASE and PCI_MEM_BASE registers Date: Thu, 25 Nov 2021 13:45:58 +0100 Message-Id: <20211125124605.25915-9-pali@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20211125124605.25915-1-pali@kernel.org> References: <20211125124605.25915-1-pali@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211125_044639_495203_DC3B544F X-CRM114-Status: GOOD ( 16.01 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org UHJvcGVybHkgcHJvcGFnYXRlIGZhaWx1cmUgZnJvbSBtdmVidV9wY2llX2FkZF93aW5kb3dzKCkg ZnVuY3Rpb24gYmFjayB0bwp0aGUgY2FsbGVyIG12ZWJ1X3BjaV9icmlkZ2VfZW11bF9iYXNlX2Nv bmZfd3JpdGUoKSBhbmQgY29ycmVjdGx5IHVwZGF0ZXMKUENJX0lPX0JBU0UsIFBDSV9NRU1fQkFT RSBhbmQgUENJX0lPX0JBU0VfVVBQRVIxNiByZWdpc3RlcnMgb24gZXJyb3IuCk9uIGVycm9yIHNl dCBiYXNlIHZhbHVlIGhpZ2hlciB0aGFuIGxpbWl0IHZhbHVlIHdoaWNoIGluZGljYXRlcyB0aGF0 CmFkZHJlc3MgcmFuZ2UgaXMgZGlzYWJsZWQuIFdoZW4gSU8gaXMgdW5zdXBwb3J0ZWQgdGhlbiBs ZXQgSU8gcmVnaXN0ZXJzCnplcm9lZCBhcyByZXF1aXJlZCBieSBQQ0llIGJhc2Ugc3BlY2lmaWNh dGlvbi4KClNpZ25lZC1vZmYtYnk6IFBhbGkgUm9ow6FyIDxwYWxpQGtlcm5lbC5vcmc+CkNjOiBz dGFibGVAdmdlci5rZXJuZWwub3JnCi0tLQogZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2ktbXZl YnUuYyB8IDgyICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQs IDU1IGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv cGNpL2NvbnRyb2xsZXIvcGNpLW12ZWJ1LmMgYi9kcml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaS1t dmVidS5jCmluZGV4IGEwYjY2MTk3MjQzNi4uMTJhZmE1NjViZmNmIDEwMDY0NAotLS0gYS9kcml2 ZXJzL3BjaS9jb250cm9sbGVyL3BjaS1tdmVidS5jCisrKyBiL2RyaXZlcnMvcGNpL2NvbnRyb2xs ZXIvcGNpLW12ZWJ1LmMKQEAgLTMxNSw3ICszMTUsNyBAQCBzdGF0aWMgdm9pZCBtdmVidV9wY2ll X2RlbF93aW5kb3dzKHN0cnVjdCBtdmVidV9wY2llX3BvcnQgKnBvcnQsCiAgKiBhcmVhcyBlYWNo IGhhdmluZyBhIHBvd2VyIG9mIHR3byBzaXplLiBXZSBzdGFydCBmcm9tIHRoZSBsYXJnZXN0CiAg KiBvbmUgKGkuZSBoaWdoZXN0IG9yZGVyIGJpdCBzZXQgaW4gdGhlIHNpemUpLgogICovCi1zdGF0 aWMgdm9pZCBtdmVidV9wY2llX2FkZF93aW5kb3dzKHN0cnVjdCBtdmVidV9wY2llX3BvcnQgKnBv cnQsCitzdGF0aWMgaW50IG12ZWJ1X3BjaWVfYWRkX3dpbmRvd3Moc3RydWN0IG12ZWJ1X3BjaWVf cG9ydCAqcG9ydCwKIAkJCQkgICB1bnNpZ25lZCBpbnQgdGFyZ2V0LCB1bnNpZ25lZCBpbnQgYXR0 cmlidXRlLAogCQkJCSAgIHBoeXNfYWRkcl90IGJhc2UsIHNpemVfdCBzaXplLAogCQkJCSAgIHBo eXNfYWRkcl90IHJlbWFwKQpAQCAtMzM2LDcgKzMzNiw3IEBAIHN0YXRpYyB2b2lkIG12ZWJ1X3Bj aWVfYWRkX3dpbmRvd3Moc3RydWN0IG12ZWJ1X3BjaWVfcG9ydCAqcG9ydCwKIAkJCQkmYmFzZSwg JmVuZCwgcmV0KTsKIAkJCW12ZWJ1X3BjaWVfZGVsX3dpbmRvd3MocG9ydCwgYmFzZSAtIHNpemVf bWFwcGVkLAogCQkJCQkgICAgICAgc2l6ZV9tYXBwZWQpOwotCQkJcmV0dXJuOworCQkJcmV0dXJu IHJldDsKIAkJfQogCiAJCXNpemUgLT0gc3o7CkBAIC0zNDUsMTYgKzM0NSwyMCBAQCBzdGF0aWMg dm9pZCBtdmVidV9wY2llX2FkZF93aW5kb3dzKHN0cnVjdCBtdmVidV9wY2llX3BvcnQgKnBvcnQs CiAJCWlmIChyZW1hcCAhPSBNVkVCVV9NQlVTX05PX1JFTUFQKQogCQkJcmVtYXAgKz0gc3o7CiAJ fQorCisJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIG12ZWJ1X3BjaWVfc2V0X3dpbmRvdyhz dHJ1Y3QgbXZlYnVfcGNpZV9wb3J0ICpwb3J0LAorc3RhdGljIGludCBtdmVidV9wY2llX3NldF93 aW5kb3coc3RydWN0IG12ZWJ1X3BjaWVfcG9ydCAqcG9ydCwKIAkJCQkgIHVuc2lnbmVkIGludCB0 YXJnZXQsIHVuc2lnbmVkIGludCBhdHRyaWJ1dGUsCiAJCQkJICBjb25zdCBzdHJ1Y3QgbXZlYnVf cGNpZV93aW5kb3cgKmRlc2lyZWQsCiAJCQkJICBzdHJ1Y3QgbXZlYnVfcGNpZV93aW5kb3cgKmN1 cikKIHsKKwlpbnQgcmV0OworCiAJaWYgKGRlc2lyZWQtPmJhc2UgPT0gY3VyLT5iYXNlICYmIGRl c2lyZWQtPnJlbWFwID09IGN1ci0+cmVtYXAgJiYKIAkgICAgZGVzaXJlZC0+c2l6ZSA9PSBjdXIt PnNpemUpCi0JCXJldHVybjsKKwkJcmV0dXJuIDA7CiAKIAlpZiAoY3VyLT5zaXplICE9IDApIHsK IAkJbXZlYnVfcGNpZV9kZWxfd2luZG93cyhwb3J0LCBjdXItPmJhc2UsIGN1ci0+c2l6ZSk7CkBA IC0zNjksMzAgKzM3MywzNSBAQCBzdGF0aWMgdm9pZCBtdmVidV9wY2llX3NldF93aW5kb3coc3Ry dWN0IG12ZWJ1X3BjaWVfcG9ydCAqcG9ydCwKIAl9CiAKIAlpZiAoZGVzaXJlZC0+c2l6ZSA9PSAw KQotCQlyZXR1cm47CisJCXJldHVybiAwOworCisJcmV0ID0gbXZlYnVfcGNpZV9hZGRfd2luZG93 cyhwb3J0LCB0YXJnZXQsIGF0dHJpYnV0ZSwgZGVzaXJlZC0+YmFzZSwKKwkJCQkgICAgIGRlc2ly ZWQtPnNpemUsIGRlc2lyZWQtPnJlbWFwKTsKKwlpZiAocmV0KSB7CisJCWN1ci0+c2l6ZSA9IDA7 CisJCWN1ci0+YmFzZSA9IDA7CisJCXJldHVybiByZXQ7CisJfQogCi0JbXZlYnVfcGNpZV9hZGRf d2luZG93cyhwb3J0LCB0YXJnZXQsIGF0dHJpYnV0ZSwgZGVzaXJlZC0+YmFzZSwKLQkJCSAgICAg ICBkZXNpcmVkLT5zaXplLCBkZXNpcmVkLT5yZW1hcCk7CiAJKmN1ciA9ICpkZXNpcmVkOworCXJl dHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBtdmVidV9wY2llX2hhbmRsZV9pb2Jhc2VfY2hhbmdl KHN0cnVjdCBtdmVidV9wY2llX3BvcnQgKnBvcnQpCitzdGF0aWMgaW50IG12ZWJ1X3BjaWVfaGFu ZGxlX2lvYmFzZV9jaGFuZ2Uoc3RydWN0IG12ZWJ1X3BjaWVfcG9ydCAqcG9ydCkKIHsKIAlzdHJ1 Y3QgbXZlYnVfcGNpZV93aW5kb3cgZGVzaXJlZCA9IHt9OwogCXN0cnVjdCBwY2lfYnJpZGdlX2Vt dWxfY29uZiAqY29uZiA9ICZwb3J0LT5icmlkZ2UuY29uZjsKIAogCS8qIEFyZSB0aGUgbmV3IGlv YmFzZS9pb2xpbWl0IHZhbHVlcyBpbnZhbGlkPyAqLwogCWlmIChjb25mLT5pb2xpbWl0IDwgY29u Zi0+aW9iYXNlIHx8Ci0JICAgIGNvbmYtPmlvbGltaXR1cHBlciA8IGNvbmYtPmlvYmFzZXVwcGVy KSB7Ci0JCW12ZWJ1X3BjaWVfc2V0X3dpbmRvdyhwb3J0LCBwb3J0LT5pb190YXJnZXQsIHBvcnQt PmlvX2F0dHIsCi0JCQkJICAgICAgJmRlc2lyZWQsICZwb3J0LT5pb3dpbik7Ci0JCXJldHVybjsK LQl9CisJICAgIGNvbmYtPmlvbGltaXR1cHBlciA8IGNvbmYtPmlvYmFzZXVwcGVyKQorCQlyZXR1 cm4gbXZlYnVfcGNpZV9zZXRfd2luZG93KHBvcnQsIHBvcnQtPmlvX3RhcmdldCwgcG9ydC0+aW9f YXR0ciwKKwkJCQkJICAgICAmZGVzaXJlZCwgJnBvcnQtPmlvd2luKTsKIAogCWlmICghbXZlYnVf aGFzX2lvcG9ydChwb3J0KSkgewogCQlkZXZfV0FSTigmcG9ydC0+cGNpZS0+cGRldi0+ZGV2LAog CQkJICJBdHRlbXB0IHRvIHNldCBJTyB3aGVuIElPIGlzIGRpc2FibGVkXG4iKTsKLQkJcmV0dXJu OworCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJfQogCiAJLyoKQEAgLTQxMCwyMSArNDE5LDE5IEBA IHN0YXRpYyB2b2lkIG12ZWJ1X3BjaWVfaGFuZGxlX2lvYmFzZV9jaGFuZ2Uoc3RydWN0IG12ZWJ1 X3BjaWVfcG9ydCAqcG9ydCkKIAkJCWRlc2lyZWQucmVtYXApICsKIAkJICAgICAgIDE7CiAKLQlt dmVidV9wY2llX3NldF93aW5kb3cocG9ydCwgcG9ydC0+aW9fdGFyZ2V0LCBwb3J0LT5pb19hdHRy LCAmZGVzaXJlZCwKLQkJCSAgICAgICZwb3J0LT5pb3dpbik7CisJcmV0dXJuIG12ZWJ1X3BjaWVf c2V0X3dpbmRvdyhwb3J0LCBwb3J0LT5pb190YXJnZXQsIHBvcnQtPmlvX2F0dHIsICZkZXNpcmVk LAorCQkJCSAgICAgJnBvcnQtPmlvd2luKTsKIH0KIAotc3RhdGljIHZvaWQgbXZlYnVfcGNpZV9o YW5kbGVfbWVtYmFzZV9jaGFuZ2Uoc3RydWN0IG12ZWJ1X3BjaWVfcG9ydCAqcG9ydCkKK3N0YXRp YyBpbnQgbXZlYnVfcGNpZV9oYW5kbGVfbWVtYmFzZV9jaGFuZ2Uoc3RydWN0IG12ZWJ1X3BjaWVf cG9ydCAqcG9ydCkKIHsKIAlzdHJ1Y3QgbXZlYnVfcGNpZV93aW5kb3cgZGVzaXJlZCA9IHsucmVt YXAgPSBNVkVCVV9NQlVTX05PX1JFTUFQfTsKIAlzdHJ1Y3QgcGNpX2JyaWRnZV9lbXVsX2NvbmYg KmNvbmYgPSAmcG9ydC0+YnJpZGdlLmNvbmY7CiAKIAkvKiBBcmUgdGhlIG5ldyBtZW1iYXNlL21l bWxpbWl0IHZhbHVlcyBpbnZhbGlkPyAqLwotCWlmIChjb25mLT5tZW1saW1pdCA8IGNvbmYtPm1l bWJhc2UpIHsKLQkJbXZlYnVfcGNpZV9zZXRfd2luZG93KHBvcnQsIHBvcnQtPm1lbV90YXJnZXQs IHBvcnQtPm1lbV9hdHRyLAotCQkJCSAgICAgICZkZXNpcmVkLCAmcG9ydC0+bWVtd2luKTsKLQkJ cmV0dXJuOwotCX0KKwlpZiAoY29uZi0+bWVtbGltaXQgPCBjb25mLT5tZW1iYXNlKQorCQlyZXR1 cm4gbXZlYnVfcGNpZV9zZXRfd2luZG93KHBvcnQsIHBvcnQtPm1lbV90YXJnZXQsIHBvcnQtPm1l bV9hdHRyLAorCQkJCQkgICAgICZkZXNpcmVkLCAmcG9ydC0+bWVtd2luKTsKIAogCS8qCiAJICog V2UgcmVhZCB0aGUgUENJLXRvLVBDSSBicmlkZ2UgZW11bGF0ZWQgcmVnaXN0ZXJzLCBhbmQKQEAg LTQzNiw4ICs0NDMsOCBAQCBzdGF0aWMgdm9pZCBtdmVidV9wY2llX2hhbmRsZV9tZW1iYXNlX2No YW5nZShzdHJ1Y3QgbXZlYnVfcGNpZV9wb3J0ICpwb3J0KQogCWRlc2lyZWQuc2l6ZSA9ICgoKGNv bmYtPm1lbWxpbWl0ICYgMHhGRkYwKSA8PCAxNikgfCAweEZGRkZGKSAtCiAJCSAgICAgICBkZXNp cmVkLmJhc2UgKyAxOwogCi0JbXZlYnVfcGNpZV9zZXRfd2luZG93KHBvcnQsIHBvcnQtPm1lbV90 YXJnZXQsIHBvcnQtPm1lbV9hdHRyLCAmZGVzaXJlZCwKLQkJCSAgICAgICZwb3J0LT5tZW13aW4p OworCXJldHVybiBtdmVidV9wY2llX3NldF93aW5kb3cocG9ydCwgcG9ydC0+bWVtX3RhcmdldCwg cG9ydC0+bWVtX2F0dHIsICZkZXNpcmVkLAorCQkJCSAgICAgJnBvcnQtPm1lbXdpbik7CiB9CiAK IHN0YXRpYyBwY2lfYnJpZGdlX2VtdWxfcmVhZF9zdGF0dXNfdApAQCAtNTIyLDE1ICs1MjksMzYg QEAgbXZlYnVfcGNpX2JyaWRnZV9lbXVsX2Jhc2VfY29uZl93cml0ZShzdHJ1Y3QgcGNpX2JyaWRn ZV9lbXVsICpicmlkZ2UsCiAJCWJyZWFrOwogCiAJY2FzZSBQQ0lfSU9fQkFTRToKLQkJbXZlYnVf cGNpZV9oYW5kbGVfaW9iYXNlX2NoYW5nZShwb3J0KTsKKwkJaWYgKChtYXNrICYgMHhmZmZmKSAm JiBtdmVidV9wY2llX2hhbmRsZV9pb2Jhc2VfY2hhbmdlKHBvcnQpKSB7CisJCQkvKiBPbiBlcnJv ciBkaXNhYmxlIElPIHJhbmdlICovCisJCQljb25mLT5pb2Jhc2UgJj0gfjB4ZjA7CisJCQljb25m LT5pb2xpbWl0ICY9IH4weGYwOworCQkJY29uZi0+aW9iYXNldXBwZXIgPSBjcHVfdG9fbGUxNigw eDAwMDApOworCQkJY29uZi0+aW9saW1pdHVwcGVyID0gY3B1X3RvX2xlMTYoMHgwMDAwKTsKKwkJ CWlmIChtdmVidV9oYXNfaW9wb3J0KHBvcnQpKQorCQkJCWNvbmYtPmlvYmFzZSB8PSAweGYwOwor CQl9CiAJCWJyZWFrOwogCiAJY2FzZSBQQ0lfTUVNT1JZX0JBU0U6Ci0JCW12ZWJ1X3BjaWVfaGFu ZGxlX21lbWJhc2VfY2hhbmdlKHBvcnQpOworCQlpZiAobXZlYnVfcGNpZV9oYW5kbGVfbWVtYmFz ZV9jaGFuZ2UocG9ydCkpIHsKKwkJCS8qIE9uIGVycm9yIGRpc2FibGUgbWVtIHJhbmdlICovCisJ CQljb25mLT5tZW1iYXNlID0gY3B1X3RvX2xlMTYobGUxNl90b19jcHUoY29uZi0+bWVtYmFzZSkg JiB+MHhmZmYwKTsKKwkJCWNvbmYtPm1lbWxpbWl0ID0gY3B1X3RvX2xlMTYobGUxNl90b19jcHUo Y29uZi0+bWVtbGltaXQpICYgfjB4ZmZmMCk7CisJCQljb25mLT5tZW1iYXNlID0gY3B1X3RvX2xl MTYobGUxNl90b19jcHUoY29uZi0+bWVtYmFzZSkgfCAweGZmZjApOworCQl9CiAJCWJyZWFrOwog CiAJY2FzZSBQQ0lfSU9fQkFTRV9VUFBFUjE2OgotCQltdmVidV9wY2llX2hhbmRsZV9pb2Jhc2Vf Y2hhbmdlKHBvcnQpOworCQlpZiAobXZlYnVfcGNpZV9oYW5kbGVfaW9iYXNlX2NoYW5nZShwb3J0 KSkgeworCQkJLyogT24gZXJyb3IgZGlzYWJsZSBJTyByYW5nZSAqLworCQkJY29uZi0+aW9iYXNl ICY9IH4weGYwOworCQkJY29uZi0+aW9saW1pdCAmPSB+MHhmMDsKKwkJCWNvbmYtPmlvYmFzZXVw cGVyID0gY3B1X3RvX2xlMTYoMHgwMDAwKTsKKwkJCWNvbmYtPmlvbGltaXR1cHBlciA9IGNwdV90 b19sZTE2KDB4MDAwMCk7CisJCQlpZiAobXZlYnVfaGFzX2lvcG9ydChwb3J0KSkKKwkJCQljb25m LT5pb2Jhc2UgfD0gMHhmMDsKKwkJfQogCQlicmVhazsKIAogCWNhc2UgUENJX1BSSU1BUllfQlVT OgotLSAKMi4yMC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0 cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGlu Zm8vbGludXgtYXJtLWtlcm5lbAo=