From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v9 1/7] xen: xsm: flask: introduce XENMAPSPACE_gmfn_share for memory sharing Date: Wed, 5 Dec 2018 14:15:57 -0800 Message-ID: <1544048163-27499-1-git-send-email-sstabellini@kernel.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: 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: Stefano Stabellini , sstabellini@kernel.org, wei.liu2@citrix.com, blackskygg@gmail.com, Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , ian.jackson@eu.citrix.com, Tim Deegan , julien.grall@arm.com, Jan Beulich , Daniel De Graaf List-Id: xen-devel@lists.xenproject.org RnJvbTogWmhvbmd6ZSBMaXUgPGJsYWNrc2t5Z2dAZ21haWwuY29tPgoKVGhlIGV4aXN0aW5nIFhF Tk1BUFNQQUNFX2dtZm5fZm9yZWlnbiBzdWJvcCBvZiBYRU5NRU1fYWRkX3RvX3BoeXNtYXAgZm9y YmlkcwphIERvbTAgdG8gbWFwIG1lbW9yeSBwYWdlcyBmcm9tIG9uZSBEb21VIHRvIGFub3RoZXIs IHdoaWNoIHJlc3RyaWN0cyBzb21lIHVzZWZ1bAp5ZXQgbm90IGRhbmdlcm91cyB1c2UgY2FzZXMg LS0gc3VjaCBhcyBzaGFyaW5nIHBhZ2VzIGFtb25nIERvbVUncyBzbyB0aGF0IHRoZXkKY2FuIGRv IHNobS1iYXNlZCBjb21tdW5pY2F0aW9uLgoKVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIFhFTk1BUFNQ QUNFX2dtZm5fc2hhcmUgdG8gYWRkcmVzcyB0aGlzIGluY29udmVuaWVuY2UsCndoaWNoIGlzIG1v c3RseSB0aGUgc2FtZSBhcyBYRU5NQVBTUEFDRV9nbWZuX2ZvcmVpZ24gYnV0IGhhcyBpdHMgb3du IHhzbSBjaGVjay4KClNwZWNpZmljYWxseSwgdGhlIHBhdGNoOgoKKiBJbnRyb2R1Y2VzIGEgbmV3 IGF2IHBlcm1pc3Npb24gTU1VX19TSEFSRV9NRU0gdG8gZGVub3RlIGlmIHR3byBkb21haW5zIGNh bgogIHNoYXJlIG1lbW9yeSBieSB1c2luZyB0aGUgbmV3IHN1Ym9wOwoqIEludHJvZHVjZXMgeHNt X21hcF9nbWZuX3NoYXJlKCkgdG8gY2hlY2sgaWYgKGN1cnJlbnQpIGhhcyBwcm9wZXIgcGVybWlz c2lvbgogIG92ZXIgKHQpIEFORCBNTVVfX1NIQVJFX01FTSBpcyBhbGxvd2VkIGJldHdlZW4gKGQp IGFuZCAodCk7CiogTW9kaWZ5IHRoZSBkZWZhdWx0IHhlbi50ZSB0byBhbGxvdyBNTVVfX1NIQVJF X01FTSBmb3Igbm9ybWFsIGRvbWFpbnMgdGhhdAogIGFsbG93IGdyYW50IG1hcHBpbmcvZXZlbnQg Y2hhbm5lbHMuCgpUaGUgbmV3IHN1Ym9wIGlzIG1hcmtlZCB1bnN1cHBvcnRlZCBmb3IgeDg2IGJl Y2F1c2UgY2FsbGluZyBwMm1fYWRkX2ZvcmVnaW4Kb24gdHdvIERvbVUncyBpcyBjdXJyZW50bHkg bm90IHN1cHBvcnRlZCBvbiB4ODYuCgpUaGlzIGlzIGZvciB0aGUgcHJvcG9zYWwgIkFsbG93IHNl dHRpbmcgdXAgc2hhcmVkIG1lbW9yeSBhcmVhcyBiZXR3ZWVuIFZNcwpmcm9tIHhsIGNvbmZpZyBm aWxlIiAoc2VlIFsxXSkuCgpbMV0gaHR0cHM6Ly9saXN0cy54ZW4ub3JnL2FyY2hpdmVzL2h0bWwv eGVuLWRldmVsLzIwMTctMDgvbXNnMDMyNDIuaHRtbAoKU2lnbmVkLW9mZi1ieTogWmhvbmd6ZSBM aXUgPGJsYWNrc2t5Z2dAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBTdGVmYW5vIFN0YWJlbGxp bmkgPHN0ZWZhbm9zQHhpbGlueC5jb20+CkNjOiBEYW5pZWwgRGUgR3JhYWYgPGRnZGVncmFAdHlj aG8ubnNhLmdvdj4KQ2M6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPgpD YzogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KQ2M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8 c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ2M6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFy bS5jb20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpDYzog R2VvcmdlIER1bmxhcCA8R2VvcmdlLkR1bmxhcEBldS5jaXRyaXguY29tPgpDYzogSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQu d2lsa0BvcmFjbGUuY29tPgpDYzogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+CkNjOiB4ZW4tZGV2 ZWxAbGlzdHMueGVuLm9yZwotLS0KQ2hhbmdlcyBpbiB2OToKLSByZW5hbWUgbWFzdGVyIHRvIG93 bmVyIGFuZCBzbGF2ZSB0byBib3Jyb3dlcgotIHJlbW92ZSBsZWZ0b3ZlciBsaW5lcyBmcm9tIHhl bi94c20vZmxhc2svaG9va3MuYyBhbmQgZml4IGJ1aWxkCi0geHNtX21hcF9nbWZuX3NoYXJlOiB1 c2UgYWN0aW9ucyBpbiBib3RoIGludm9jYXRpb25zIHVuZGVyCgpDaGFuZ2VzIGluIHY4OgotIHR5 cG8KCkNoYW5nZXMgaW4gdjc6Ci0gYWRkIGFkZGl0aW9uYWwgY2hlY2tzCi0gdXBkYXRlIGNvbW1l bnRzIHRvIHJlZmxlY3QgdGhhdAoKQ2hhbmdlcyBpbiB2NToKLSBmaXggY29kaW5nIHN0eWxlCi0g cmVtb3ZlIHVzZWxlc3MgeDg2IGh5cGVydmlzb3IgbWVzc2FnZSBmb3IgdGhlIHVuaW1wbGVtZW50 ZWQgb3AKLSBjb2RlIHN0eWxlCi0gaW1wcm92ZS9hZGQgY29tbWVudHMKLS0tCiB0b29scy9mbGFz ay9wb2xpY3kvbW9kdWxlcy94ZW4uaWYgICB8ICAyICsrCiB4ZW4vYXJjaC9hcm0vbW0uYyAgICAg ICAgICAgICAgICAgICB8ICA3ICsrKysrKy0KIHhlbi9pbmNsdWRlL3B1YmxpYy9tZW1vcnkuaCAg ICAgICAgIHwgIDggKysrKysrKysKIHhlbi9pbmNsdWRlL3hzbS9kdW1teS5oICAgICAgICAgICAg IHwgMTQgKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL3hzbS94c20uaCAgICAgICAgICAgICAg IHwgIDYgKysrKysrCiB4ZW4veHNtL2R1bW15LmMgICAgICAgICAgICAgICAgICAgICB8ICAxICsK IHhlbi94c20vZmxhc2svaG9va3MuYyAgICAgICAgICAgICAgIHwgIDcgKysrKysrKwogeGVuL3hz bS9mbGFzay9wb2xpY3kvYWNjZXNzX3ZlY3RvcnMgfCAgNSArKysrKwogOCBmaWxlcyBjaGFuZ2Vk LCA0OSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmxh c2svcG9saWN5L21vZHVsZXMveGVuLmlmIGIvdG9vbHMvZmxhc2svcG9saWN5L21vZHVsZXMveGVu LmlmCmluZGV4IDRlMDZjZmMuLmIwYWIwODkgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2ZsYXNrL3BvbGlj eS9tb2R1bGVzL3hlbi5pZgorKysgYi90b29scy9mbGFzay9wb2xpY3kvbW9kdWxlcy94ZW4uaWYK QEAgLTEyOCw2ICsxMjgsOCBAQCBkZWZpbmUoYGRvbWFpbl9jb21tcycsIGAKIAlkb21haW5fZXZl bnRfY29tbXMoJDEsICQyKQogCWFsbG93ICQxICQyOmdyYW50IHsgbWFwX3JlYWQgbWFwX3dyaXRl IGNvcHkgdW5tYXAgfTsKIAlhbGxvdyAkMiAkMTpncmFudCB7IG1hcF9yZWFkIG1hcF93cml0ZSBj b3B5IHVubWFwIH07CisJYWxsb3cgJDEgJDI6bW11IHNoYXJlX21lbTsKKwlhbGxvdyAkMiAkMTpt bXUgc2hhcmVfbWVtOwogJykKIAogIyBkb21haW5fc2VsZl9jb21tcyhkb21haW4pCmRpZmYgLS1n aXQgYS94ZW4vYXJjaC9hcm0vbW0uYyBiL3hlbi9hcmNoL2FybS9tbS5jCmluZGV4IDdhMDZhMzMu LjdiNzg2OWYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9tbS5jCisrKyBiL3hlbi9hcmNoL2Fy bS9tbS5jCkBAIC0xMjQ1LDYgKzEyNDUsNyBAQCBpbnQgeGVubWVtX2FkZF90b19waHlzbWFwX29u ZSgKIAogICAgICAgICBicmVhazsKICAgICBjYXNlIFhFTk1BUFNQQUNFX2dtZm5fZm9yZWlnbjoK KyAgICBjYXNlIFhFTk1BUFNQQUNFX2dtZm5fc2hhcmU6CiAgICAgewogICAgICAgICBzdHJ1Y3Qg ZG9tYWluICpvZDsKICAgICAgICAgcDJtX3R5cGVfdCBwMm10OwpAQCAtMTI1OSw3ICsxMjYwLDEx IEBAIGludCB4ZW5tZW1fYWRkX3RvX3BoeXNtYXBfb25lKAogICAgICAgICAgICAgcmV0dXJuIC1F SU5WQUw7CiAgICAgICAgIH0KIAotICAgICAgICByYyA9IHhzbV9tYXBfZ21mbl9mb3JlaWduKFhT TV9UQVJHRVQsIGQsIG9kKTsKKyAgICAgICAgaWYgKCBzcGFjZSA9PSBYRU5NQVBTUEFDRV9nbWZu X2ZvcmVpZ24gKQorICAgICAgICAgICAgcmMgPSB4c21fbWFwX2dtZm5fZm9yZWlnbihYU01fVEFS R0VULCBkLCBvZCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJjID0geHNtX21hcF9nbWZu X3NoYXJlKFhTTV9UQVJHRVQsIGQsIG9kKTsKKwogICAgICAgICBpZiAoIHJjICkKICAgICAgICAg ewogICAgICAgICAgICAgcmN1X3VubG9ja19kb21haW4ob2QpOwpkaWZmIC0tZ2l0IGEveGVuL2lu Y2x1ZGUvcHVibGljL21lbW9yeS5oIGIveGVuL2luY2x1ZGUvcHVibGljL21lbW9yeS5oCmluZGV4 IDhmYzI3Y2UuLjYzMWQxMGUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9tZW1vcnku aAorKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvbWVtb3J5LmgKQEAgLTIyNyw2ICsyMjcsMTQgQEAg REVGSU5FX1hFTl9HVUVTVF9IQU5ETEUoeGVuX21hY2hwaHlzX21hcHBpbmdfdCk7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YWdlLTIgdXNpbmcgdGhlIE5vcm1hbCBN ZW1vcnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5uZXIvT3V0ZXIg V3JpdGUtQmFjayBDYWNoZWFibGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWVtb3J5IGF0dHJpYnV0ZS4gKi8KKyNkZWZpbmUgWEVOTUFQU1BBQ0VfZ21mbl9zaGFyZSAg IDYgLyogR01GTiBmcm9tIGFub3RoZXIgZG9tLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBYRU5NRU1fYWRkX3RvX3BoeXNtYXBfYmF0Y2ggKGFuZAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50bHkgQVJNKSBvbmx5LiBVbmxpa2UKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOTUFQU1BBQ0VfZ21mbl9mb3Jl aWduLCBpdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlcyBj dXJyZW50IHRvIGhhdmUgbWFwcGluZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBwcml2aWxlZ2VzIGluc3RlYWQgb2YgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGRlc3RpbmF0aW9uIGRvbWFpbi4gKi8KKwogLyogYCB9ICovCiAKIC8qCmRp ZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94c20vZHVtbXkuaCBiL3hlbi9pbmNsdWRlL3hzbS9kdW1t eS5oCmluZGV4IGIwYWMxZjYuLjlkMTA5YjAgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hzbS9k dW1teS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCkBAIC01MzUsNiArNTM1LDIwIEBA IHN0YXRpYyBYU01fSU5MSU5FIGludCB4c21fbWFwX2dtZm5fZm9yZWlnbihYU01fREVGQVVMVF9B Ukcgc3RydWN0IGRvbWFpbiAqZCwgc3RyCiAgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihh Y3Rpb24sIGQsIHQpOwogfQogCisvKgorICogQmUgYXdhcmUgdGhhdCB0aGlzIGlzIG5vdCBhbiBl eGFjdCBkZWZhdWx0IGVxdWl2YWxlbmNlIG9mIGl0cyBmbGFzaworICogdmFyaWFudCB3aGljaCBh bHNvIGNoZWNrcyBpZiBAZCBhbmQgQHQgImFyZSBhbGxvd2VkIHRvIHNoYXJlIG1lbW9yeQorICog cGFnZXMiLCBmb3Igbm93LCB3ZSBkb24ndCBoYXZlIGEgcHJvcGVyIGRlZmF1bHQgZXF1aXZhbGVu Y2Ugb2Ygc3VjaCBhCisgKiBjaGVjay4KKyAqLworc3RhdGljIFhTTV9JTkxJTkUgaW50IHhzbV9t YXBfZ21mbl9zaGFyZShYU01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRvbWFpbiAqdCkKK3sKKyAg ICBYU01fQVNTRVJUX0FDVElPTihYU01fVEFSR0VUKTsKKyAgICByZXR1cm4geHNtX2RlZmF1bHRf YWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9tYWluLCBkKSA/OgorICAgICAgICAgICB4c21fZGVm YXVsdF9hY3Rpb24oYWN0aW9uLCBjdXJyZW50LT5kb21haW4sIHQpOworfQorCiBzdGF0aWMgWFNN X0lOTElORSBpbnQgeHNtX2h2bV9wYXJhbShYU01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAq ZCwgdW5zaWduZWQgbG9uZyBvcCkKIHsKICAgICBYU01fQVNTRVJUX0FDVElPTihYU01fVEFSR0VU KTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hzbS94c20uaCBiL3hlbi9pbmNsdWRlL3hzbS94 c20uaAppbmRleCAzZDY3OTYyLi45NmVkZmViIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94c20v eHNtLmgKKysrIGIveGVuL2luY2x1ZGUveHNtL3hzbS5oCkBAIC04Niw2ICs4Niw3IEBAIHN0cnVj dCB4c21fb3BlcmF0aW9ucyB7CiAgICAgaW50ICgqYWRkX3RvX3BoeXNtYXApIChzdHJ1Y3QgZG9t YWluICpkMSwgc3RydWN0IGRvbWFpbiAqZDIpOwogICAgIGludCAoKnJlbW92ZV9mcm9tX3BoeXNt YXApIChzdHJ1Y3QgZG9tYWluICpkMSwgc3RydWN0IGRvbWFpbiAqZDIpOwogICAgIGludCAoKm1h cF9nbWZuX2ZvcmVpZ24pIChzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgZG9tYWluICp0KTsKKyAg ICBpbnQgKCptYXBfZ21mbl9zaGFyZSkgKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBkb21haW4g KnQpOwogICAgIGludCAoKmNsYWltX3BhZ2VzKSAoc3RydWN0IGRvbWFpbiAqZCk7CiAKICAgICBp bnQgKCpjb25zb2xlX2lvKSAoc3RydWN0IGRvbWFpbiAqZCwgaW50IGNtZCk7CkBAIC0zNzYsNiAr Mzc3LDExIEBAIHN0YXRpYyBpbmxpbmUgaW50IHhzbV9tYXBfZ21mbl9mb3JlaWduICh4c21fZGVm YXVsdF90IGRlZiwgc3RydWN0IGRvbWFpbiAqZCwgc3RyCiAgICAgcmV0dXJuIHhzbV9vcHMtPm1h cF9nbWZuX2ZvcmVpZ24oZCwgdCk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgaW50IHhzbV9tYXBfZ21m bl9zaGFyZSAoeHNtX2RlZmF1bHRfdCBkZWYsIHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBkb21h aW4gKnQpCit7CisgICAgcmV0dXJuIHhzbV9vcHMtPm1hcF9nbWZuX3NoYXJlKGQsIHQpOworfQor CiBzdGF0aWMgaW5saW5lIGludCB4c21fY2xhaW1fcGFnZXMoeHNtX2RlZmF1bHRfdCBkZWYsIHN0 cnVjdCBkb21haW4gKmQpCiB7CiAgICAgcmV0dXJuIHhzbV9vcHMtPmNsYWltX3BhZ2VzKGQpOwpk aWZmIC0tZ2l0IGEveGVuL3hzbS9kdW1teS5jIGIveGVuL3hzbS9kdW1teS5jCmluZGV4IDMyOTBk MDQuLmRiNWYzZWMgMTAwNjQ0Ci0tLSBhL3hlbi94c20vZHVtbXkuYworKysgYi94ZW4veHNtL2R1 bW15LmMKQEAgLTEyNCw2ICsxMjQsNyBAQCB2b2lkIF9faW5pdCB4c21fZml4dXBfb3BzIChzdHJ1 Y3QgeHNtX29wZXJhdGlvbnMgKm9wcykKICAgICBzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGFk ZF90b19waHlzbWFwKTsKICAgICBzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHJlbW92ZV9mcm9t X3BoeXNtYXApOwogICAgIHNldF90b19kdW1teV9pZl9udWxsKG9wcywgbWFwX2dtZm5fZm9yZWln bik7CisgICAgc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBtYXBfZ21mbl9zaGFyZSk7CiAKICAg ICBzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHZtX2V2ZW50X2NvbnRyb2wpOwogCmRpZmYgLS1n aXQgYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMgYi94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKaW5kZXgg NmRhMjc3My4uZjMzYjM4NSAxMDA2NDQKLS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5jCisrKyBi L3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtMTE5Miw2ICsxMTkyLDEyIEBAIHN0YXRpYyBpbnQg Zmxhc2tfbWFwX2dtZm5fZm9yZWlnbihzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgZG9tYWluICp0 KQogICAgIHJldHVybiBkb21haW5faGFzX3Blcm0oZCwgdCwgU0VDQ0xBU1NfTU1VLCBNTVVfX01B UF9SRUFEIHwgTU1VX19NQVBfV1JJVEUpOwogfQogCitzdGF0aWMgaW50IGZsYXNrX21hcF9nbWZu X3NoYXJlKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBkb21haW4gKnQpCit7CisgICAgcmV0dXJu IGN1cnJlbnRfaGFzX3Blcm0odCwgU0VDQ0xBU1NfTU1VLCBNTVVfX01BUF9SRUFEIHwgTU1VX19N QVBfV1JJVEUpID86CisgICAgICAgICAgIGRvbWFpbl9oYXNfcGVybShkLCB0LCBTRUNDTEFTU19N TVUsIE1NVV9fU0hBUkVfTUVNKTsKK30KKwogc3RhdGljIGludCBmbGFza19odm1fcGFyYW0oc3Ry dWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBvcCkKIHsKICAgICB1MzIgcGVybTsKQEAgLTE4 MTYsNiArMTgyMiw3IEBAIHN0YXRpYyBzdHJ1Y3QgeHNtX29wZXJhdGlvbnMgZmxhc2tfb3BzID0g ewogICAgIC5hZGRfdG9fcGh5c21hcCA9IGZsYXNrX2FkZF90b19waHlzbWFwLAogICAgIC5yZW1v dmVfZnJvbV9waHlzbWFwID0gZmxhc2tfcmVtb3ZlX2Zyb21fcGh5c21hcCwKICAgICAubWFwX2dt Zm5fZm9yZWlnbiA9IGZsYXNrX21hcF9nbWZuX2ZvcmVpZ24sCisgICAgLm1hcF9nbWZuX3NoYXJl ID0gZmxhc2tfbWFwX2dtZm5fc2hhcmUsCiAKICNpZiBkZWZpbmVkKENPTkZJR19IQVNfUEFTU1RI Uk9VR0gpICYmIGRlZmluZWQoQ09ORklHX0hBU19QQ0kpCiAgICAgLmdldF9kZXZpY2VfZ3JvdXAg PSBmbGFza19nZXRfZGV2aWNlX2dyb3VwLApkaWZmIC0tZ2l0IGEveGVuL3hzbS9mbGFzay9wb2xp Y3kvYWNjZXNzX3ZlY3RvcnMgYi94ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9ycwpp bmRleCBkMDFhN2EwLi42ZmU0YzhlIDEwMDY0NAotLS0gYS94ZW4veHNtL2ZsYXNrL3BvbGljeS9h Y2Nlc3NfdmVjdG9ycworKysgYi94ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9ycwpA QCAtMzgxLDYgKzM4MSwxMSBAQCBjbGFzcyBtbXUKICMgQWxsb3cgYSBwcml2aWxlZ2VkIGRvbWFp biB0byBpbnN0YWxsIGEgbWFwIG9mIGEgcGFnZSBpdCBkb2VzIG5vdCBvd24uICBVc2VkCiAjIGZv ciBzdHViIGRvbWFpbiBkZXZpY2UgbW9kZWxzIHdpdGggdGhlIFBWIGZyYW1lYnVmZmVyLgogICAg IHRhcmdldF9oYWNrCisjIENoZWNrZWQgd2hlbiB1c2luZyBYRU5NRU1fYWRkX3RvX3BoeXNtYXAg d2l0aCBYRU5NQVBTUEFDRV9nbWZuX3NoYXJlCisjIHRvIHNoYXJlIG1lbW9yeSBiZXR3ZWVuIHR3 byBkb21haW5zOgorIyAgc291cmNlID0gZG9tYWluIHdob3NlIG1lbW9yeSBpcyBiZWluZyBzaGFy ZWQKKyMgIHRhcmdldCA9IGNsaWVudCBkb21haW4KKyAgICBzaGFyZV9tZW0KIH0KIAogIyBjb250 cm9sIG9mIHRoZSBwYWdpbmdfZG9tY3RsIHNwbGl0IGJ5IHN1Ym9wCi0tIAoxLjkuMQoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVu cHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=