From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC XEN PATCH v4 22/41] xen/pmem: support setup PMEM region for guest data usage Date: Thu, 7 Dec 2017 18:10:11 +0800 Message-ID: <20171207101030.22364-23-haozhong.zhang@intel.com> References: <20171207101030.22364-1-haozhong.zhang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171207101030.22364-1-haozhong.zhang@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Haozhong Zhang , Stefano Stabellini , Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Jan Beulich , Chao Peng , Dan Williams List-Id: xen-devel@lists.xenproject.org QWxsb3cgdGhlIGNvbW1hbmQgWEVOX1NZU0NUTF9udmRpbW1fcG1lbV9zZXR1cCBvZiBoeXBlcmNh bGwKWEVOX1NZU0NUTF9udmRpbW1fb3AgdG8gc2V0dXAgYSBQTUVNIHJlZ2lvbiBmb3IgZ3Vlc3Qg ZGF0YQp1c2FnZS4gQWZ0ZXIgdGhlIHNldHVwLCB0aGF0IFBNRU0gcmVnaW9uIHdpbGwgYmUgYWJs ZSB0byBiZQptYXBwZWQgdG8gZ3Vlc3QgYWRkcmVzcyBzcGFjZS4KClNpZ25lZC1vZmYtYnk6IEhh b3pob25nIFpoYW5nIDxoYW96aG9uZy56aGFuZ0BpbnRlbC5jb20+Ci0tLQpDYzogSWFuIEphY2tz b24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CkNjOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRy aXguY29tPgpDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQ2M6 IEdlb3JnZSBEdW5sYXAgPEdlb3JnZS5EdW5sYXBAZXUuY2l0cml4LmNvbT4KQ2M6IEphbiBCZXVs aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQ2M6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFk LndpbGtAb3JhY2xlLmNvbT4KQ2M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2Vy bmVsLm9yZz4KQ2M6IFRpbSBEZWVnYW4gPHRpbUB4ZW4ub3JnPgotLS0KIHRvb2xzL2xpYnhjL2lu Y2x1ZGUveGVuY3RybC5oIHwgIDIyICsrKysrKysrCiB0b29scy9saWJ4Yy94Y19taXNjLmMgICAg ICAgICB8ICAxNyArKysrKysKIHhlbi9jb21tb24vcG1lbS5jICAgICAgICAgICAgIHwgMTE4ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogeGVuL2luY2x1ZGUvcHVi bGljL3N5c2N0bC5oICAgfCAgIDMgKy0KIDQgZmlsZXMgY2hhbmdlZCwgMTU3IGluc2VydGlvbnMo KyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5j dHJsLmggYi90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaAppbmRleCA5MzU4ODVkNmE3Li41 MTk0ZDNmZjVlIDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaAorKysg Yi90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaApAQCAtMjY1Niw2ICsyNjU2LDI4IEBAIGlu dCB4Y19udmRpbW1fcG1lbV9nZXRfcmVnaW9ucyh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDhfdCB0 eXBlLAogaW50IHhjX252ZGltbV9wbWVtX3NldHVwX21nbXQoeGNfaW50ZXJmYWNlICp4Y2gsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHNtZm4sIHVuc2lnbmVk IGxvbmcgZW1mbik7CiAKKy8qCisgKiBTZXR1cCB0aGUgc3BlY2lmaWVkIFBNRU0gcGFnZXMgZm9y IGd1ZXN0IGRhdGEgdXNhZ2UuIElmIHN1Y2Nlc3MsCisgKiB0aGVzZSBQTUVNIHBhZ2UgY2FuIGJl IG1hcHBlZCB0byBndWVzdCBhbmQgYmUgdXNlZCBhcyB0aGUgYmFja2VuZAorICogb2Ygdk5ESU1N IGRldmljZXMuCisgKgorICogUGFyYW1ldGVyczoKKyAqICB4Y2g6ICAgICAgICB4YyBpbnRlcmZh Y2UgaGFuZGxlCisgKiAgc21mbiwgZW1mbjogdGhlIHN0YXJ0IGFuZCBlbmQgb2YgdGhlIFBNRU0g cmVnaW9uCisgKiAgbWdtdF9zbWZuLAorCisgKiAgbWdtdF9lbWZuOiAgdGhlIHN0YXJ0IGFuZCB0 aGUgZW5kIE1GTiBvZiB0aGUgUE1FTSByZWdpb24gdGhhdCBpcworICogICAgICAgICAgICAgIHVz ZWQgdG8gbWFuYWdlIHRoaXMgUE1FTSByZWdpb24uIEl0IG11c3QgYmUgaW4gb25lIG9mCisgKiAg ICAgICAgICAgICAgdGhvc2UgYWRkZWQgYnkgeGNfbnZkaW1tX3BtZW1fc2V0dXBfbWdtdCgpIGNh bGxzLCBhbmQKKyAqICAgICAgICAgICAgICBub3Qgb3ZlcmxhcCB3aXRoIEBzbWZuIC0gQGVtZm4u CisgKgorICogUmV0dXJuOgorICogIE9uIHN1Y2Nlc3MsIHJldHVybiAwLiBPdGhlcndpc2UsIHJl dHVybiBhIG5vbi16ZXJvIGVycm9yIGNvZGUuCisgKi8KK2ludCB4Y19udmRpbW1fcG1lbV9zZXR1 cF9kYXRhKHhjX2ludGVyZmFjZSAqeGNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dW5zaWduZWQgbG9uZyBzbWZuLCB1bnNpZ25lZCBsb25nIGVtZm4sCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG1nbXRfc21mbiwgdW5zaWduZWQgbG9uZyBtZ210 X2VtZm4pOworCiAvKiBDb21wYXQgc2hpbXMgKi8KICNpbmNsdWRlICJ4ZW5jdHJsX2NvbXBhdC5o IgogCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19taXNjLmMgYi90b29scy9saWJ4Yy94Y19t aXNjLmMKaW5kZXggNzdmOTNmZmQ5YS4uOTQwYmY2MTkzMSAxMDA2NDQKLS0tIGEvdG9vbHMvbGli eGMveGNfbWlzYy5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX21pc2MuYwpAQCAtMTAxNiw2ICsxMDE2 LDIzIEBAIGludCB4Y19udmRpbW1fcG1lbV9zZXR1cF9tZ210KHhjX2ludGVyZmFjZSAqeGNoLAog ICAgIHJldHVybiByYzsKIH0KIAoraW50IHhjX252ZGltbV9wbWVtX3NldHVwX2RhdGEoeGNfaW50 ZXJmYWNlICp4Y2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25n IHNtZm4sIHVuc2lnbmVkIGxvbmcgZW1mbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVuc2lnbmVkIGxvbmcgbWdtdF9zbWZuLCB1bnNpZ25lZCBsb25nIG1nbXRfZW1mbikKK3sKKyAg ICBERUNMQVJFX1NZU0NUTDsKKyAgICBpbnQgcmM7CisKKyAgICB4Y19udmRpbW1fcG1lbV9zZXR1 cF9jb21tb24oJnN5c2N0bCwgc21mbiwgZW1mbiwgbWdtdF9zbWZuLCBtZ210X2VtZm4pOworICAg IHN5c2N0bC51Lm52ZGltbS51LnBtZW1fc2V0dXAudHlwZSA9IFBNRU1fUkVHSU9OX1RZUEVfREFU QTsKKworICAgIHJjID0gZG9fc3lzY3RsKHhjaCwgJnN5c2N0bCk7CisgICAgaWYgKCByYyAmJiBz eXNjdGwudS5udmRpbW0uZXJyICkKKyAgICAgICAgcmMgPSAtc3lzY3RsLnUubnZkaW1tLmVycjsK KworICAgIHJldHVybiByYzsKK30KKwogLyoKICAqIExvY2FsIHZhcmlhYmxlczoKICAqIG1vZGU6 IEMKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vcG1lbS5jIGIveGVuL2NvbW1vbi9wbWVtLmMKaW5k ZXggZTI4NmQwMzNmMi4uZWQ0ZWJhN2Y2NCAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9wbWVtLmMK KysrIGIveGVuL2NvbW1vbi9wbWVtLmMKQEAgLTM0LDE2ICszNCwyNiBAQCBzdGF0aWMgdW5zaWdu ZWQgaW50IG5yX3Jhd19yZWdpb25zOwogLyoKICAqIEFsbCBQTUVNIHJlZ2lvbnMgcmVzZXJ2ZWQg Zm9yIG1hbmFnZW1lbnQgcHVycG9zZSBhcmUgbGlua2VkIHRvIHRoaXMKICAqIGxpc3QuIEFsbCBv ZiB0aGVtIG11c3QgYmUgY292ZXJlZCBieSBvbmUgb3IgbXVsdGlwbGUgUE1FTSByZWdpb25zCi0g KiBpbiBsaXN0IHBtZW1fcmF3X3JlZ2lvbnMuCisgKiBpbiBsaXN0IHBtZW1fcmF3X3JlZ2lvbnMs IGFuZCBub3QgYXBwZWFyIGluIGxpc3QgcG1lbV9kYXRhX3JlZ2lvbnMuCiAgKi8KIHN0YXRpYyBM SVNUX0hFQUQocG1lbV9tZ210X3JlZ2lvbnMpOwogc3RhdGljIERFRklORV9TUElOTE9DSyhwbWVt X21nbXRfbG9jayk7CiBzdGF0aWMgdW5zaWduZWQgaW50IG5yX21nbXRfcmVnaW9uczsKIAorLyoK KyAqIEFsbCBQTUVNIHJlZ2lvbnMgdGhhdCBjYW4gYmUgbWFwcGVkIHRvIGd1ZXN0IGFyZSBsaW5r ZWQgdG8gdGhpcworICogbGlzdC4gQWxsIG9mIHRoZW0gbXVzdCBiZSBjb3ZlcmVkIGJ5IG9uZSBv ciBtdWx0aXBsZSBQTUVNIHJlZ2lvbnMKKyAqIGluIGxpc3QgcG1lbV9yYXdfcmVnaW9ucywgYW5k IG5vdCBhcHBlYXIgaW4gbGlzdCBwbWVtX21nbXRfcmVnaW9ucy4KKyAqLworc3RhdGljIExJU1Rf SEVBRChwbWVtX2RhdGFfcmVnaW9ucyk7CitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKHBtZW1fZGF0 YV9sb2NrKTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgbnJfZGF0YV9yZWdpb25zOworCiBzdHJ1Y3Qg cG1lbSB7CiAgICAgc3RydWN0IGxpc3RfaGVhZCBsaW5rOyAvKiBsaW5rIHRvIG9uZSBvZiBQTUVN IHJlZ2lvbiBsaXN0ICovCiAgICAgdW5zaWduZWQgbG9uZyBzbWZuOyAgICAvKiBzdGFydCBNRk4g b2YgdGhlIFBNRU0gcmVnaW9uICovCiAgICAgdW5zaWduZWQgbG9uZyBlbWZuOyAgICAvKiBlbmQg TUZOIG9mIHRoZSBQTUVNIHJlZ2lvbiAqLworICAgIHNwaW5sb2NrX3QgbG9jazsKIAogICAgIHVu aW9uIHsKICAgICAgICAgc3RydWN0IHsKQEAgLTUzLDYgKzYzLDExIEBAIHN0cnVjdCBwbWVtIHsK ICAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgdXNlZDsgLyogIyBv ZiB1c2VkIHBhZ2VzIGluIE1HTVQgUE1FTSByZWdpb24gKi8KICAgICAgICAgfSBtZ210OworCisg ICAgICAgIHN0cnVjdCB7CisgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG1nbXRfc21mbjsgLyog c3RhcnQgTUZOIG9mIG1hbmFnZW1lbnQgcmVnaW9uICovCisgICAgICAgICAgICB1bnNpZ25lZCBs b25nIG1nbXRfZW1mbjsgLyogZW5kIE1GTiBvZiBtYW5hZ2VtZW50IHJlZ2lvbiAqLworICAgICAg ICB9IGRhdGE7CiAgICAgfSB1OwogfTsKIApAQCAtMTA1LDYgKzEyMCw3IEBAIHN0YXRpYyBpbnQg cG1lbV9saXN0X2FkZChzdHJ1Y3QgbGlzdF9oZWFkICpsaXN0LAogCiAgICAgbmV3X3BtZW0tPnNt Zm4gPSBzbWZuOwogICAgIG5ld19wbWVtLT5lbWZuID0gZW1mbjsKKyAgICBzcGluX2xvY2tfaW5p dCgmbmV3X3BtZW0tPmxvY2spOwogICAgIGxpc3RfYWRkKCZuZXdfcG1lbS0+bGluaywgY3VyKTsK ICAgICBpZiAoIGVudHJ5ICkKICAgICAgICAgKmVudHJ5ID0gbmV3X3BtZW07CkBAIC0yNTMsOSAr MjY5LDE2IEBAIHN0YXRpYyBpbnQgcG1lbV9nZXRfcmVnaW9ucyh4ZW5fc3lzY3RsX252ZGltbV9w bWVtX3JlZ2lvbnNfdCAqcmVnaW9ucykKIAogc3RhdGljIGJvb2wgY2hlY2tfbWdtdF9zaXplKHVu c2lnbmVkIGxvbmcgbWdtdF9tZm5zLCB1bnNpZ25lZCBsb25nIHRvdGFsX21mbnMpCiB7Ci0gICAg cmV0dXJuIG1nbXRfbWZucyA+PQorICAgIHVuc2lnbmVkIGxvbmcgcmVxdWlyZWQgPQogICAgICAg ICAoKHNpemVvZihzdHJ1Y3QgcGFnZV9pbmZvKSAqIHRvdGFsX21mbnMpID4+IFBBR0VfU0hJRlQp ICsKICAgICAgICAgKChzaXplb2YoKm1hY2hpbmVfdG9fcGh5c19tYXBwaW5nKSAqIHRvdGFsX21m bnMpID4+IFBBR0VfU0hJRlQpOworCisgICAgaWYgKCByZXF1aXJlZCA+IG1nbXRfbWZucyApCisg ICAgICAgIHByaW50ayhYRU5MT0dfREVCVUcgIlBNRU06IGluc3VmZmljaWVudCBtYW5hZ2VtZW50 IHBhZ2VzLCAiCisgICAgICAgICAgICAgICAiMHglbHggcGFnZXMgcmVxdWlyZWQsIDB4JWx4IHBh Z2VzIGF2YWlsYWJsZVxuIiwKKyAgICAgICAgICAgICAgIHJlcXVpcmVkLCBtZ210X21mbnMpOwor CisgICAgcmV0dXJuIG1nbXRfbWZucyA+PSByZXF1aXJlZDsKIH0KIAogc3RhdGljIGJvb2wgY2hl Y2tfYWRkcmVzc19hbmRfcHhtKHVuc2lnbmVkIGxvbmcgc21mbiwgdW5zaWduZWQgbG9uZyBlbWZu LApAQCAtMzMzLDYgKzM1Niw5MyBAQCBzdGF0aWMgaW50IHBtZW1fc2V0dXBfbWdtdCh1bnNpZ25l ZCBsb25nIHNtZm4sIHVuc2lnbmVkIGxvbmcgZW1mbikKICAgICByZXR1cm4gcmM7CiB9CiAKK3N0 YXRpYyBzdHJ1Y3QgcG1lbSAqZmluZF9tZ210X3JlZ2lvbih1bnNpZ25lZCBsb25nIHNtZm4sIHVu c2lnbmVkIGxvbmcgZW1mbikKK3sKKyAgICBzdHJ1Y3QgbGlzdF9oZWFkICpjdXI7CisKKyAgICBB U1NFUlQoc3Bpbl9pc19sb2NrZWQoJnBtZW1fbWdtdF9sb2NrKSk7CisKKyAgICBsaXN0X2Zvcl9l YWNoKGN1ciwgJnBtZW1fbWdtdF9yZWdpb25zKQorICAgIHsKKyAgICAgICAgc3RydWN0IHBtZW0g Km1nbXQgPSBsaXN0X2VudHJ5KGN1ciwgc3RydWN0IHBtZW0sIGxpbmspOworCisgICAgICAgIGlm ICggc21mbiA+PSBtZ210LT5zbWZuICYmIGVtZm4gPD0gbWdtdC0+ZW1mbiApCisgICAgICAgICAg ICByZXR1cm4gbWdtdDsKKyAgICB9CisKKyAgICByZXR1cm4gTlVMTDsKK30KKworc3RhdGljIGlu dCBwbWVtX3NldHVwX2RhdGEodW5zaWduZWQgbG9uZyBzbWZuLCB1bnNpZ25lZCBsb25nIGVtZm4s CisgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG1nbXRfc21mbiwgdW5z aWduZWQgbG9uZyBtZ210X2VtZm4pCit7CisgICAgc3RydWN0IHBtZW0gKmRhdGEsICptZ210ID0g TlVMTDsKKyAgICB1bnNpZ25lZCBsb25nIHVzZWRfbWdtdF9tZm5zOworICAgIHVuc2lnbmVkIGlu dCBweG07CisgICAgaW50IHJjOworCisgICAgaWYgKCBzbWZuID09IG1mbl94KElOVkFMSURfTUZO KSB8fCBlbWZuID09IG1mbl94KElOVkFMSURfTUZOKSB8fAorICAgICAgICAgc21mbiA+PSBlbWZu ICkKKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisKKyAgICAvKgorICAgICAqIFJlcXVpcmUgdGhl IFBNRU0gcmVnaW9uIGluIG9uZSBwcm94aW1pdHkgZG9tYWluLCBpbiBvcmRlciB0bworICAgICAq IGF2b2lkIHRoZSBlcnJvciByZWNvdmVyeSBmcm9tIG11bHRpcGxlIGNhbGxzIHRvIHBtZW1fYXJj aF9zZXR1cCgpCisgICAgICogd2hpY2ggaXMgbm90IHJldmVydGlibGUuCisgICAgICovCisgICAg aWYgKCAhY2hlY2tfYWRkcmVzc19hbmRfcHhtKHNtZm4sIGVtZm4sICZweG0pICkKKyAgICAgICAg cmV0dXJuIC1FSU5WQUw7CisKKyAgICBpZiAoIG1nbXRfc21mbiA9PSBtZm5feChJTlZBTElEX01G TikgfHwgbWdtdF9lbWZuID09IG1mbl94KElOVkFMSURfTUZOKSB8fAorICAgICAgICAgbWdtdF9z bWZuID49IG1nbXRfZW1mbiApCisgICAgICAgIHJldHVybiAtRUlOVkFMOworCisgICAgc3Bpbl9s b2NrKCZwbWVtX21nbXRfbG9jayk7CisgICAgbWdtdCA9IGZpbmRfbWdtdF9yZWdpb24obWdtdF9z bWZuLCBtZ210X2VtZm4pOworICAgIGlmICggIW1nbXQgKQorICAgIHsKKyAgICAgICAgc3Bpbl91 bmxvY2soJnBtZW1fbWdtdF9sb2NrKTsKKyAgICAgICAgcmV0dXJuIC1FTlhJTzsKKyAgICB9Cisg ICAgc3Bpbl91bmxvY2soJnBtZW1fbWdtdF9sb2NrKTsKKworICAgIHNwaW5fbG9jaygmbWdtdC0+ bG9jayk7CisKKyAgICBtZ210X3NtZm4gPSBtZ210LT5zbWZuICsgbWdtdC0+dS5tZ210LnVzZWQ7 CisgICAgaWYgKCAhY2hlY2tfbWdtdF9zaXplKG1nbXRfZW1mbiAtIG1nbXRfc21mbiwgZW1mbiAt IHNtZm4pICkKKyAgICB7CisgICAgICAgIHNwaW5fdW5sb2NrKCZtZ210LT5sb2NrKTsKKyAgICAg ICAgcmV0dXJuIC1FTk9TUEM7CisgICAgfQorCisgICAgc3Bpbl9sb2NrKCZwbWVtX2RhdGFfbG9j ayk7CisKKyAgICByYyA9IHBtZW1fbGlzdF9hZGQoJnBtZW1fZGF0YV9yZWdpb25zLCBzbWZuLCBl bWZuLCAmZGF0YSk7CisgICAgaWYgKCByYyApCisgICAgICAgIGdvdG8gb3V0OworICAgIGRhdGEt PnUuZGF0YS5tZ210X3NtZm4gPSBkYXRhLT51LmRhdGEubWdtdF9lbWZuID0gbWZuX3goSU5WQUxJ RF9NRk4pOworCisgICAgcmMgPSBwbWVtX2FyY2hfc2V0dXAoc21mbiwgZW1mbiwgcHhtLAorICAg ICAgICAgICAgICAgICAgICAgICAgIG1nbXRfc21mbiwgbWdtdF9lbWZuLCAmdXNlZF9tZ210X21m bnMpOworICAgIGlmICggcmMgKQorICAgIHsKKyAgICAgICAgcG1lbV9saXN0X2RlbChkYXRhKTsK KyAgICAgICAgZ290byBvdXQ7CisgICAgfQorCisgICAgbWdtdC0+dS5tZ210LnVzZWQgPSBtZ210 X3NtZm4gLSBtZ210LT5zbWZuICsgdXNlZF9tZ210X21mbnM7CisgICAgZGF0YS0+dS5kYXRhLm1n bXRfc21mbiA9IG1nbXRfc21mbjsKKyAgICBkYXRhLT51LmRhdGEubWdtdF9lbWZuID0gbWdtdC0+ c21mbiArIG1nbXQtPnUubWdtdC51c2VkOworCisgICAgbnJfZGF0YV9yZWdpb25zKys7CisKKyBv dXQ6CisgICAgc3Bpbl91bmxvY2soJnBtZW1fZGF0YV9sb2NrKTsKKyAgICBzcGluX3VubG9jaygm bWdtdC0+bG9jayk7CisKKyAgICByZXR1cm4gcmM7Cit9CisKIHN0YXRpYyBpbnQgcG1lbV9zZXR1 cCh1bnNpZ25lZCBsb25nIHNtZm4sIHVuc2lnbmVkIGxvbmcgZW1mbiwKICAgICAgICAgICAgICAg ICAgICAgICB1bnNpZ25lZCBsb25nIG1nbXRfc21mbiwgdW5zaWduZWQgbG9uZyBtZ210X2VtZm4s CiAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHR5cGUpCkBAIC0zNTIsNiArNDYy LDEwIEBAIHN0YXRpYyBpbnQgcG1lbV9zZXR1cCh1bnNpZ25lZCBsb25nIHNtZm4sIHVuc2lnbmVk IGxvbmcgZW1mbiwKIAogICAgICAgICBicmVhazsKIAorICAgIGNhc2UgUE1FTV9SRUdJT05fVFlQ RV9EQVRBOgorICAgICAgICByYyA9IHBtZW1fc2V0dXBfZGF0YShzbWZuLCBlbWZuLCBtZ210X3Nt Zm4sIG1nbXRfZW1mbik7CisgICAgICAgIGJyZWFrOworCiAgICAgZGVmYXVsdDoKICAgICAgICAg cmMgPSAtRUlOVkFMOwogICAgIH0KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9zeXNj dGwuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9zeXNjdGwuaAppbmRleCA3MDNkZDg2MGU3Li5kMWZi YjMwMjQ3IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMvc3lzY3RsLmgKKysrIGIveGVu L2luY2x1ZGUvcHVibGljL3N5c2N0bC5oCkBAIC0xMDUyLDYgKzEwNTIsNyBAQCBzdHJ1Y3QgeGVu X3N5c2N0bF9zZXRfcGFyYW1ldGVyIHsKIC8qIFR5cGVzIG9mIFBNRU0gcmVnaW9ucyAqLwogI2Rl ZmluZSBQTUVNX1JFR0lPTl9UWVBFX1JBVyAgICAgICAgMCAvKiBQTUVNIHJlZ2lvbnMgZGV0ZWN0 ZWQgYnkgWGVuICovCiAjZGVmaW5lIFBNRU1fUkVHSU9OX1RZUEVfTUdNVCAgICAgICAxIC8qIFBN RU0gcmVnaW9ucyBmb3IgbWFuYWdlbWVudCB1c2FnZSAqLworI2RlZmluZSBQTUVNX1JFR0lPTl9U WVBFX0RBVEEgICAgICAgMiAvKiBQTUVNIHJlZ2lvbnMgZm9yIGd1ZXN0IGRhdGEgKi8KIAogLyog UE1FTV9SRUdJT05fVFlQRV9SQVcgKi8KIHN0cnVjdCB4ZW5fc3lzY3RsX252ZGltbV9wbWVtX3Jh d19yZWdpb24gewpAQCAtMTEwNyw3ICsxMTA4LDcgQEAgc3RydWN0IHhlbl9zeXNjdGxfbnZkaW1t X3BtZW1fc2V0dXAgewogICAgICAgICAgICAgICAgICAgICAgICAgLyogYWJvdmUgUE1FTSByZWdp b24uIElmIHRoZSBhYm92ZSBQTUVNIHJlZ2lvbiBpcyAqLwogICAgICAgICAgICAgICAgICAgICAg ICAgLyogYSBtYW5hZ2VtZW50IHJlZ2lvbiwgbWdtdF97cyxlfW1mbiBpcyByZXF1aXJlZCAqLwog ICAgICAgICAgICAgICAgICAgICAgICAgLyogdG8gYmUgaWRlbnRpY2FsIHRvIHtzLGV9bWZuLiAq LwotICAgIHVpbnQ4X3QgIHR5cGU7ICAgICAgLyogT25seSBQTUVNX1JFR0lPTl9UWVBFX01HTVQg aXMgc3VwcG9ydGVkIG5vdyAqLworICAgIHVpbnQ4X3QgIHR5cGU7ICAgICAgLyogTXVzdCBiZSBv bmUgb2YgUE1FTV9SRUdJT05fVFlQRV97TUdNVCwgREFUQX0gKi8KIH07CiB0eXBlZGVmIHN0cnVj dCB4ZW5fc3lzY3RsX252ZGltbV9wbWVtX3NldHVwIHhlbl9zeXNjdGxfbnZkaW1tX3BtZW1fc2V0 dXBfdDsKIERFRklORV9YRU5fR1VFU1RfSEFORExFKHhlbl9zeXNjdGxfbnZkaW1tX3BtZW1fc2V0 dXBfdCk7Ci0tIAoyLjE1LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9q ZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVu LWRldmVs