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=-7.0 required=3.0 tests=DKIM_ADSP_ALL,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 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 37980C352A4 for ; Wed, 12 Feb 2020 22:33:17 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 F046E21739 for ; Wed, 12 Feb 2020 22:33:16 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amazon.com header.i=@amazon.com header.b="NBGnRPZE" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F046E21739 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=amazon.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1j20Z8-0003HC-Ny; Wed, 12 Feb 2020 22:33:06 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1j20Z7-0003Gs-Ff for xen-devel@lists.xenproject.org; Wed, 12 Feb 2020 22:33:05 +0000 X-Inumbo-ID: a2bad286-4de7-11ea-ade5-bc764e2007e4 Received: from smtp-fw-2101.amazon.com (unknown [72.21.196.25]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id a2bad286-4de7-11ea-ade5-bc764e2007e4; Wed, 12 Feb 2020 22:33:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1581546786; x=1613082786; h=date:from:to:subject:message-id:mime-version; bh=Li7ZytGzpLPeaAtxK4UWxJ/i7dWzVa/JFI81RD45Jfo=; b=NBGnRPZEE9Hh6fVnSyRa4p3GLr7fE2f/+cX/BMQynJ0fhFBS/nEYQ77P rHE+yMbCEmWrT4Eq/dot/8OjgeR6AF9GJFmS0OsJz0y1Jeal9nX+U4g4r s0tPWBpGZ5D+C7ykH0YXqLUyTmi14GmxDQ6rE8sPmK9WVfyALYuYL2m+y I=; IronPort-SDR: aTjsW3zj+x0uHsppmlnRsOirp4sS2hT7wHd0CjS3hdVl3ldpWv54Plk3oV0dFj27SEC1MWlkE8 saMAZwY+vejw== X-IronPort-AV: E=Sophos;i="5.70,434,1574121600"; d="scan'208";a="16933191" Received: from iad12-co-svc-p1-lb1-vlan2.amazon.com (HELO email-inbound-relay-1a-807d4a99.us-east-1.amazon.com) ([10.43.8.2]) by smtp-border-fw-out-2101.iad2.amazon.com with ESMTP; 12 Feb 2020 22:33:06 +0000 Received: from EX13MTAUWB001.ant.amazon.com (iad55-ws-svc-p15-lb9-vlan2.iad.amazon.com [10.40.159.162]) by email-inbound-relay-1a-807d4a99.us-east-1.amazon.com (Postfix) with ESMTPS id 45C21A2FDF; Wed, 12 Feb 2020 22:32:57 +0000 (UTC) Received: from EX13D07UWB001.ant.amazon.com (10.43.161.238) by EX13MTAUWB001.ant.amazon.com (10.43.161.249) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Wed, 12 Feb 2020 22:32:37 +0000 Received: from EX13MTAUWB001.ant.amazon.com (10.43.161.207) by EX13D07UWB001.ant.amazon.com (10.43.161.238) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Wed, 12 Feb 2020 22:32:37 +0000 Received: from dev-dsk-anchalag-2a-9c2d1d96.us-west-2.amazon.com (172.22.96.68) by mail-relay.amazon.com (10.43.161.249) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Wed, 12 Feb 2020 22:32:37 +0000 Received: by dev-dsk-anchalag-2a-9c2d1d96.us-west-2.amazon.com (Postfix, from userid 4335130) id 18453400D1; Wed, 12 Feb 2020 22:32:37 +0000 (UTC) Date: Wed, 12 Feb 2020 22:32:37 +0000 From: Anchal Agarwal To: , , , , , , , , , , , , , , , , , , , , , , , , , , , , Message-ID: <20200212223237.GA4238@dev-dsk-anchalag-2a-9c2d1d96.us-west-2.amazon.com> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) Precedence: Bulk Subject: [Xen-devel] [RFC PATCH v3 06/12] xen-blkfront: add callbacks for PM suspend and hibernation X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" RnJvbTogTXVuZWhpc2EgS2FtYXRhIDxrYW1hdGFtQGFtYXpvbi5jb20+CgpBZGQgZnJlZXplLCB0 aGF3IGFuZCByZXN0b3JlIGNhbGxiYWNrcyBmb3IgUE0gc3VzcGVuZCBhbmQgaGliZXJuYXRpb24K c3VwcG9ydC4gQWxsIGZyb250ZW5kIGRyaXZlcnMgdGhhdCBuZWVkcyB0byB1c2UgUE1fSElCRVJO QVRJT04vUE1fU1VTUEVORApldmVudHMsIG5lZWQgdG8gaW1wbGVtZW50IHRoZXNlIHhlbmJ1c19k cml2ZXIgY2FsbGJhY2tzLgpUaGUgZnJlZXplIGhhbmRsZXIgc3RvcHMgYSBibG9jay1sYXllciBx dWV1ZSBhbmQgZGlzY29ubmVjdCB0aGUKZnJvbnRlbmQgZnJvbSB0aGUgYmFja2VuZCB3aGlsZSBm cmVlaW5nIHJpbmdfaW5mbyBhbmQgYXNzb2NpYXRlZCByZXNvdXJjZXMuClRoZSByZXN0b3JlIGhh bmRsZXIgcmUtYWxsb2NhdGVzIHJpbmdfaW5mbyBhbmQgcmUtY29ubmVjdCB0byB0aGUKYmFja2Vu ZCwgc28gdGhlIHJlc3Qgb2YgdGhlIGtlcm5lbCBjYW4gY29udGludWUgdG8gdXNlIHRoZSBibG9j ayBkZXZpY2UKdHJhbnNwYXJlbnRseS4gQWxzbywgdGhlIGhhbmRsZXJzIGFyZSB1c2VkIGZvciBi b3RoIFBNIHN1c3BlbmQgYW5kCmhpYmVybmF0aW9uIHNvIHRoYXQgd2UgY2FuIGtlZXAgdGhlIGV4 aXN0aW5nIHN1c3BlbmQvcmVzdW1lIGNhbGxiYWNrcyBmb3IKWGVuIHN1c3BlbmQgd2l0aG91dCBt b2RpZmljYXRpb24uIEJlZm9yZSBkaXNjb25uZWN0aW5nIGZyb20gYmFja2VuZCwKd2UgbmVlZCB0 byBwcmV2ZW50IGFueSBuZXcgSU8gZnJvbSBiZWluZyBxdWV1ZWQgYW5kIHdhaXQgZm9yIGV4aXN0 aW5nCklPIHRvIGNvbXBsZXRlLiBGcmVlemUvdW5mcmVlemUgb2YgdGhlIHF1ZXVlcyB3aWxsIGd1 YXJhbnRlZSB0aGF0IHRoZXJlCmFyZSBubyByZXF1ZXN0cyBpbiB1c2Ugb24gdGhlIHNoYXJlZCBy aW5nLgoKTm90ZTpGb3Igb2xkZXIgYmFja2VuZHMsaWYgYSBiYWNrZW5kIGRvZXNuJ3QgaGF2ZSBj b21taXQnMTJlYTcyOTY0NWFjZScKeGVuL2Jsa2JhY2s6IHVubWFwIGFsbCBwZXJzaXN0ZW50IGdy YW50cyB3aGVuIGZyb250ZW5kIGdldHMgZGlzY29ubmVjdGVkLAp0aGUgZnJvbnRlbmQgbWF5IHNl ZSBtYXNzaXZlIGFtb3VudCBvZiBncmFudCB0YWJsZSB3YXJuaW5nIHdoZW4gZnJlZWluZwpyZXNv dXJjZXMuClsgICAzNi44NTI2NTldIGRlZmVycmluZyBnLmUuIDB4ZjkgKHBmbiAweGZmZmZmZmZm ZmZmZmZmZmYpClsgICAzNi44NTUwODldIHhlbjpncmFudF90YWJsZTogV0FSTklORzplLmcuIDB4 MTEyIHN0aWxsIGluIHVzZSEKCkluIHRoaXMgY2FzZSwgcGVyc2lzdGVudCBncmFudHMgd291bGQg bmVlZCB0byBiZSBkaXNhYmxlZC4KCltBbmNoYWwgQ2hhbmdlbG9nOiBSZW1vdmVkIHRpbWVvdXQv cmVxdWVzdCBkdXJpbmcgYmxrZnJvbnQgZnJlZXplLgpGaXhlZCBtYWpvciBwYXJ0IG9mIHRoZSBj b2RlIHRvIHdvcmsgd2l0aCBibGstbXFdClNpZ25lZC1vZmYtYnk6IEFuY2hhbCBBZ2Fyd2FsIDxh bmNoYWxhZ0BhbWF6b24uY29tPgpTaWduZWQtb2ZmLWJ5OiBNdW5laGlzYSBLYW1hdGEgPGthbWF0 YW1AYW1hem9uLmNvbT4KCi0tLQpDaGFuZ2VzIHNpbmNlIFYyOiBOb25lCi0tLQogZHJpdmVycy9i bG9jay94ZW4tYmxrZnJvbnQuYyB8IDExOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLQogMSBmaWxlIGNoYW5nZWQsIDExMiBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2sveGVuLWJsa2Zyb250LmMgYi9kcml2ZXJzL2Jsb2Nr L3hlbi1ibGtmcm9udC5jCmluZGV4IDQ3ODEyMDIzMzc1MC4uZDcxNWVkM2NiNjlhIDEwMDY0NAot LS0gYS9kcml2ZXJzL2Jsb2NrL3hlbi1ibGtmcm9udC5jCisrKyBiL2RyaXZlcnMvYmxvY2sveGVu LWJsa2Zyb250LmMKQEAgLTQ3LDYgKzQ3LDggQEAKICNpbmNsdWRlIDxsaW51eC9iaXRtYXAuaD4K ICNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CiAjaW5jbHVkZSA8bGludXgvd29ya3F1ZXVlLmg+Cisj aW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAK ICNpbmNsdWRlIDx4ZW4veGVuLmg+CiAjaW5jbHVkZSA8eGVuL3hlbmJ1cy5oPgpAQCAtNzksNiAr ODEsOCBAQCBlbnVtIGJsa2lmX3N0YXRlIHsKIAlCTEtJRl9TVEFURV9ESVNDT05ORUNURUQsCiAJ QkxLSUZfU1RBVEVfQ09OTkVDVEVELAogCUJMS0lGX1NUQVRFX1NVU1BFTkRFRCwKKwlCTEtJRl9T VEFURV9GUkVFWklORywKKwlCTEtJRl9TVEFURV9GUk9aRU4KIH07CiAKIHN0cnVjdCBncmFudCB7 CkBAIC0yMjAsNiArMjI0LDcgQEAgc3RydWN0IGJsa2Zyb250X2luZm8KIAlzdHJ1Y3QgbGlzdF9o ZWFkIHJlcXVlc3RzOwogCXN0cnVjdCBiaW9fbGlzdCBiaW9fbGlzdDsKIAlzdHJ1Y3QgbGlzdF9o ZWFkIGluZm9fbGlzdDsKKwlzdHJ1Y3QgY29tcGxldGlvbiB3YWl0X2JhY2tlbmRfZGlzY29ubmVj dGVkOwogfTsKIAogc3RhdGljIHVuc2lnbmVkIGludCBucl9taW5vcnM7CkBAIC0yNjEsNiArMjY2 LDcgQEAgc3RhdGljIERFRklORV9TUElOTE9DSyhtaW5vcl9sb2NrKTsKIHN0YXRpYyBpbnQgYmxr ZnJvbnRfc2V0dXBfaW5kaXJlY3Qoc3RydWN0IGJsa2Zyb250X3JpbmdfaW5mbyAqcmluZm8pOwog c3RhdGljIHZvaWQgYmxrZnJvbnRfZ2F0aGVyX2JhY2tlbmRfZmVhdHVyZXMoc3RydWN0IGJsa2Zy b250X2luZm8gKmluZm8pOwogc3RhdGljIGludCBuZWdvdGlhdGVfbXEoc3RydWN0IGJsa2Zyb250 X2luZm8gKmluZm8pOworc3RhdGljIHZvaWQgX19ibGtpZl9mcmVlKHN0cnVjdCBibGtmcm9udF9p bmZvICppbmZvKTsKIAogc3RhdGljIGludCBnZXRfaWRfZnJvbV9mcmVlbGlzdChzdHJ1Y3QgYmxr ZnJvbnRfcmluZ19pbmZvICpyaW5mbykKIHsKQEAgLTk5NSw2ICsxMDAxLDcgQEAgc3RhdGljIGlu dCB4bHZiZF9pbml0X2Jsa19xdWV1ZShzdHJ1Y3QgZ2VuZGlzayAqZ2QsIHUxNiBzZWN0b3Jfc2l6 ZSwKIAlpbmZvLT5zZWN0b3Jfc2l6ZSA9IHNlY3Rvcl9zaXplOwogCWluZm8tPnBoeXNpY2FsX3Nl Y3Rvcl9zaXplID0gcGh5c2ljYWxfc2VjdG9yX3NpemU7CiAJYmxraWZfc2V0X3F1ZXVlX2xpbWl0 cyhpbmZvKTsKKwlpbml0X2NvbXBsZXRpb24oJmluZm8tPndhaXRfYmFja2VuZF9kaXNjb25uZWN0 ZWQpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xMjE4LDYgKzEyMjUsOCBAQCBzdGF0aWMgdm9pZCB4 bHZiZF9yZWxlYXNlX2dlbmRpc2soc3RydWN0IGJsa2Zyb250X2luZm8gKmluZm8pCiAvKiBBbHJl YWR5IGhvbGQgcmluZm8tPnJpbmdfbG9jay4gKi8KIHN0YXRpYyBpbmxpbmUgdm9pZCBraWNrX3Bl bmRpbmdfcmVxdWVzdF9xdWV1ZXNfbG9ja2VkKHN0cnVjdCBibGtmcm9udF9yaW5nX2luZm8gKnJp bmZvKQogeworCWlmICh1bmxpa2VseShyaW5mby0+ZGV2X2luZm8tPmNvbm5lY3RlZCA9PSBCTEtJ Rl9TVEFURV9GUkVFWklORykpCisJCXJldHVybjsKIAlpZiAoIVJJTkdfRlVMTCgmcmluZm8tPnJp bmcpKQogCQlibGtfbXFfc3RhcnRfc3RvcHBlZF9od19xdWV1ZXMocmluZm8tPmRldl9pbmZvLT5y cSwgdHJ1ZSk7CiB9CkBAIC0xMzQxLDggKzEzNTAsNiBAQCBzdGF0aWMgdm9pZCBibGtpZl9mcmVl X3Jpbmcoc3RydWN0IGJsa2Zyb250X3JpbmdfaW5mbyAqcmluZm8pCiAKIHN0YXRpYyB2b2lkIGJs a2lmX2ZyZWUoc3RydWN0IGJsa2Zyb250X2luZm8gKmluZm8sIGludCBzdXNwZW5kKQogewotCXVu c2lnbmVkIGludCBpOwotCiAJLyogUHJldmVudCBuZXcgcmVxdWVzdHMgYmVpbmcgaXNzdWVkIHVu dGlsIHdlIGZpeCB0aGluZ3MgdXAuICovCiAJaW5mby0+Y29ubmVjdGVkID0gc3VzcGVuZCA/CiAJ CUJMS0lGX1NUQVRFX1NVU1BFTkRFRCA6IEJMS0lGX1NUQVRFX0RJU0NPTk5FQ1RFRDsKQEAgLTEz NTAsNiArMTM1NywxMyBAQCBzdGF0aWMgdm9pZCBibGtpZl9mcmVlKHN0cnVjdCBibGtmcm9udF9p bmZvICppbmZvLCBpbnQgc3VzcGVuZCkKIAlpZiAoaW5mby0+cnEpCiAJCWJsa19tcV9zdG9wX2h3 X3F1ZXVlcyhpbmZvLT5ycSk7CiAKKwlfX2Jsa2lmX2ZyZWUoaW5mbyk7Cit9CisKK3N0YXRpYyB2 b2lkIF9fYmxraWZfZnJlZShzdHJ1Y3QgYmxrZnJvbnRfaW5mbyAqaW5mbykKK3sKKwl1bnNpZ25l ZCBpbnQgaTsKKwogCWZvciAoaSA9IDA7IGkgPCBpbmZvLT5ucl9yaW5nczsgaSsrKQogCQlibGtp Zl9mcmVlX3JpbmcoJmluZm8tPnJpbmZvW2ldKTsKIApAQCAtMTU1Myw4ICsxNTY3LDEwIEBAIHN0 YXRpYyBpcnFyZXR1cm5fdCBibGtpZl9pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQog CXN0cnVjdCBibGtmcm9udF9yaW5nX2luZm8gKnJpbmZvID0gKHN0cnVjdCBibGtmcm9udF9yaW5n X2luZm8gKilkZXZfaWQ7CiAJc3RydWN0IGJsa2Zyb250X2luZm8gKmluZm8gPSByaW5mby0+ZGV2 X2luZm87CiAKLQlpZiAodW5saWtlbHkoaW5mby0+Y29ubmVjdGVkICE9IEJMS0lGX1NUQVRFX0NP Tk5FQ1RFRCkpCi0JCXJldHVybiBJUlFfSEFORExFRDsKKwlpZiAodW5saWtlbHkoaW5mby0+Y29u bmVjdGVkICE9IEJMS0lGX1NUQVRFX0NPTk5FQ1RFRCkpIHsKKwkJaWYgKGluZm8tPmNvbm5lY3Rl ZCAhPSBCTEtJRl9TVEFURV9GUkVFWklORykKKwkJCXJldHVybiBJUlFfSEFORExFRDsKKwl9CiAK IAlzcGluX2xvY2tfaXJxc2F2ZSgmcmluZm8tPnJpbmdfbG9jaywgZmxhZ3MpOwogIGFnYWluOgpA QCAtMjAyMCw2ICsyMDM2LDcgQEAgc3RhdGljIGludCBibGtpZl9yZWNvdmVyKHN0cnVjdCBibGtm cm9udF9pbmZvICppbmZvKQogCXN0cnVjdCBiaW8gKmJpbzsKIAl1bnNpZ25lZCBpbnQgc2VnczsK IAorCWJvb2wgZnJvemVuID0gaW5mby0+Y29ubmVjdGVkID09IEJMS0lGX1NUQVRFX0ZST1pFTjsK IAlibGtmcm9udF9nYXRoZXJfYmFja2VuZF9mZWF0dXJlcyhpbmZvKTsKIAkvKiBSZXNldCBsaW1p dHMgY2hhbmdlZCBieSBibGtfbXFfdXBkYXRlX25yX2h3X3F1ZXVlcygpLiAqLwogCWJsa2lmX3Nl dF9xdWV1ZV9saW1pdHMoaW5mbyk7CkBAIC0yMDQ2LDYgKzIwNjMsOSBAQCBzdGF0aWMgaW50IGJs a2lmX3JlY292ZXIoc3RydWN0IGJsa2Zyb250X2luZm8gKmluZm8pCiAJCWtpY2tfcGVuZGluZ19y ZXF1ZXN0X3F1ZXVlcyhyaW5mbyk7CiAJfQogCisJaWYgKGZyb3plbikKKwkJcmV0dXJuIDA7CisK IAlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocmVxLCBuLCAmaW5mby0+cmVxdWVzdHMsIHF1ZXVl bGlzdCkgewogCQkvKiBSZXF1ZXVlIHBlbmRpbmcgcmVxdWVzdHMgKGZsdXNoIG9yIGRpc2NhcmQp ICovCiAJCWxpc3RfZGVsX2luaXQoJnJlcS0+cXVldWVsaXN0KTsKQEAgLTIzNTksNiArMjM3OSw3 IEBAIHN0YXRpYyB2b2lkIGJsa2Zyb250X2Nvbm5lY3Qoc3RydWN0IGJsa2Zyb250X2luZm8gKmlu Zm8pCiAKIAkJcmV0dXJuOwogCWNhc2UgQkxLSUZfU1RBVEVfU1VTUEVOREVEOgorCWNhc2UgQkxL SUZfU1RBVEVfRlJPWkVOOgogCQkvKgogCQkgKiBJZiB3ZSBhcmUgcmVjb3ZlcmluZyBmcm9tIHN1 c3BlbnNpb24sIHdlIG5lZWQgdG8gd2FpdAogCQkgKiBmb3IgdGhlIGJhY2tlbmQgdG8gYW5ub3Vu Y2UgaXQncyBmZWF0dXJlcyBiZWZvcmUKQEAgLTI0NzYsMTIgKzI0OTcsMzcgQEAgc3RhdGljIHZv aWQgYmxrYmFja19jaGFuZ2VkKHN0cnVjdCB4ZW5idXNfZGV2aWNlICpkZXYsCiAJCWJyZWFrOwog CiAJY2FzZSBYZW5idXNTdGF0ZUNsb3NlZDoKLQkJaWYgKGRldi0+c3RhdGUgPT0gWGVuYnVzU3Rh dGVDbG9zZWQpCisJCWlmIChkZXYtPnN0YXRlID09IFhlbmJ1c1N0YXRlQ2xvc2VkKSB7CisJCQlp ZiAoaW5mby0+Y29ubmVjdGVkID09IEJMS0lGX1NUQVRFX0ZSRUVaSU5HKSB7CisJCQkJX19ibGtp Zl9mcmVlKGluZm8pOworCQkJCWluZm8tPmNvbm5lY3RlZCA9IEJMS0lGX1NUQVRFX0ZST1pFTjsK KwkJCQljb21wbGV0ZSgmaW5mby0+d2FpdF9iYWNrZW5kX2Rpc2Nvbm5lY3RlZCk7CisJCQkJYnJl YWs7CisJCQl9CisKIAkJCWJyZWFrOworCQl9CisKKwkJLyoKKwkJICogV2UgbWF5IHNvbWVob3cg cmVjZWl2ZSBiYWNrZW5kJ3MgQ2xvc2VkIGFnYWluIHdoaWxlIHRoYXdpbmcKKwkJICogb3IgcmVz dG9yaW5nIGFuZCBpdCBjYXVzZXMgdGhhd2luZyBvciByZXN0b3JpbmcgdG8gZmFpbC4KKwkJICog SWdub3JlIHN1Y2ggdW5leHBlY3RlZCBzdGF0ZSBhbnl3YXkuCisJCSAqLworCQlpZiAoaW5mby0+ Y29ubmVjdGVkID09IEJMS0lGX1NUQVRFX0ZST1pFTiAmJgorCQkJCWRldi0+c3RhdGUgPT0gWGVu YnVzU3RhdGVJbml0aWFsaXNlZCkgeworCQkJZGV2X2RiZygmZGV2LT5kZXYsCisJCQkJCSJpZ25v cmUgdGhlIGJhY2tlbmQncyBDbG9zZWQgc3RhdGU6ICVzIiwKKwkJCQkJZGV2LT5ub2RlbmFtZSk7 CisJCQlicmVhazsKKwkJfQogCQkvKiBmYWxsIHRocm91Z2ggKi8KIAljYXNlIFhlbmJ1c1N0YXRl Q2xvc2luZzoKLQkJaWYgKGluZm8pCi0JCQlibGtmcm9udF9jbG9zaW5nKGluZm8pOworCQlpZiAo aW5mbykgeworCQkJaWYgKGluZm8tPmNvbm5lY3RlZCA9PSBCTEtJRl9TVEFURV9GUkVFWklORykK KwkJCQl4ZW5idXNfZnJvbnRlbmRfY2xvc2VkKGRldik7CisJCQllbHNlCisJCQkJYmxrZnJvbnRf Y2xvc2luZyhpbmZvKTsKKwkJfQogCQlicmVhazsKIAl9CiB9CkBAIC0yNjI1LDYgKzI2NzEsNjIg QEAgc3RhdGljIHZvaWQgYmxraWZfcmVsZWFzZShzdHJ1Y3QgZ2VuZGlzayAqZGlzaywgZm1vZGVf dCBtb2RlKQogCW11dGV4X3VubG9jaygmYmxrZnJvbnRfbXV0ZXgpOwogfQogCitzdGF0aWMgaW50 IGJsa2Zyb250X2ZyZWV6ZShzdHJ1Y3QgeGVuYnVzX2RldmljZSAqZGV2KQoreworCXVuc2lnbmVk IGludCBpOworCXN0cnVjdCBibGtmcm9udF9pbmZvICppbmZvID0gZGV2X2dldF9kcnZkYXRhKCZk ZXYtPmRldik7CisJc3RydWN0IGJsa2Zyb250X3JpbmdfaW5mbyAqcmluZm87CisJLyogVGhpcyB3 b3VsZCBiZSByZWFzb25hYmxlIHRpbWVvdXQgYXMgdXNlZCBpbiB4ZW5idXNfZGV2X3NodXRkb3du KCkgKi8KKwl1bnNpZ25lZCBpbnQgdGltZW91dCA9IDUgKiBIWjsKKwlpbnQgZXJyID0gMDsKKwor CWluZm8tPmNvbm5lY3RlZCA9IEJMS0lGX1NUQVRFX0ZSRUVaSU5HOworCisJYmxrX21xX2ZyZWV6 ZV9xdWV1ZShpbmZvLT5ycSk7CisJYmxrX21xX3F1aWVzY2VfcXVldWUoaW5mby0+cnEpOworCisJ Zm9yIChpID0gMDsgaSA8IGluZm8tPm5yX3JpbmdzOyBpKyspIHsKKwkJcmluZm8gPSAmaW5mby0+ cmluZm9baV07CisKKwkJZ250dGFiX2NhbmNlbF9mcmVlX2NhbGxiYWNrKCZyaW5mby0+Y2FsbGJh Y2spOworCQlmbHVzaF93b3JrKCZyaW5mby0+d29yayk7CisJfQorCisJLyogS2ljayB0aGUgYmFj a2VuZCB0byBkaXNjb25uZWN0ICovCisJeGVuYnVzX3N3aXRjaF9zdGF0ZShkZXYsIFhlbmJ1c1N0 YXRlQ2xvc2luZyk7CisKKwkvKgorCSAqIFdlIGRvbid0IHdhbnQgdG8gbW92ZSBmb3J3YXJkIGJl Zm9yZSB0aGUgZnJvbnRlbmQgaXMgZGljb25uZWN0ZWQKKwkgKiBmcm9tIHRoZSBiYWNrZW5kIGNs ZWFubHkuCisJICovCisJdGltZW91dCA9IHdhaXRfZm9yX2NvbXBsZXRpb25fdGltZW91dCgmaW5m by0+d2FpdF9iYWNrZW5kX2Rpc2Nvbm5lY3RlZCwKKwkJCQkJICAgICAgdGltZW91dCk7CisJaWYg KCF0aW1lb3V0KSB7CisJCWVyciA9IC1FQlVTWTsKKwkJeGVuYnVzX2Rldl9lcnJvcihkZXYsIGVy ciwgIkZyZWV6aW5nIHRpbWVkIG91dDsiCisJCQkJICJ0aGUgZGV2aWNlIG1heSBiZWNvbWUgaW5j b25zaXN0ZW50IHN0YXRlIik7CisJfQorCisJcmV0dXJuIGVycjsKK30KKworc3RhdGljIGludCBi bGtmcm9udF9yZXN0b3JlKHN0cnVjdCB4ZW5idXNfZGV2aWNlICpkZXYpCit7CisJc3RydWN0IGJs a2Zyb250X2luZm8gKmluZm8gPSBkZXZfZ2V0X2RydmRhdGEoJmRldi0+ZGV2KTsKKwlpbnQgZXJy ID0gMDsKKworCWVyciA9IHRhbGtfdG9fYmxrYmFjayhkZXYsIGluZm8pOworCWJsa19tcV91bnF1 aWVzY2VfcXVldWUoaW5mby0+cnEpOworCWJsa19tcV91bmZyZWV6ZV9xdWV1ZShpbmZvLT5ycSk7 CisKKwlpZiAoZXJyKQorCQlnb3RvIG91dDsKKwlibGtfbXFfdXBkYXRlX25yX2h3X3F1ZXVlcygm aW5mby0+dGFnX3NldCwgaW5mby0+bnJfcmluZ3MpOworCitvdXQ6CisJcmV0dXJuIGVycjsKK30K Kwogc3RhdGljIGNvbnN0IHN0cnVjdCBibG9ja19kZXZpY2Vfb3BlcmF0aW9ucyB4bHZiZF9ibG9j a19mb3BzID0KIHsKIAkub3duZXIgPSBUSElTX01PRFVMRSwKQEAgLTI2NDcsNiArMjc0OSw5IEBA IHN0YXRpYyBzdHJ1Y3QgeGVuYnVzX2RyaXZlciBibGtmcm9udF9kcml2ZXIgPSB7CiAJLnJlc3Vt ZSA9IGJsa2Zyb250X3Jlc3VtZSwKIAkub3RoZXJlbmRfY2hhbmdlZCA9IGJsa2JhY2tfY2hhbmdl ZCwKIAkuaXNfcmVhZHkgPSBibGtmcm9udF9pc19yZWFkeSwKKwkuZnJlZXplID0gYmxrZnJvbnRf ZnJlZXplLAorCS50aGF3ID0gYmxrZnJvbnRfcmVzdG9yZSwKKwkucmVzdG9yZSA9IGJsa2Zyb250 X3Jlc3RvcmUKIH07CiAKIHN0YXRpYyB2b2lkIHB1cmdlX3BlcnNpc3RlbnRfZ3JhbnRzKHN0cnVj dCBibGtmcm9udF9pbmZvICppbmZvKQotLSAKMi4yNC4xLkFNWk4KCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn L21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs