From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zhongze Liu Subject: [PATCH v4 2/7] xen: xsm: flask: introduce XENMAPSPACE_gmfn_share for memory sharing Date: Wed, 31 Jan 2018 01:50:19 +0800 Message-ID: <20180130175024.26921-3-blackskygg@gmail.com> References: <20180130175024.26921-1-blackskygg@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180130175024.26921-1-blackskygg@gmail.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: Stefano Stabellini , Wei Liu , Zhongze Liu , Ian Jackson , Julien Grall , Daniel De Graaf List-Id: xen-devel@lists.xenproject.org VGhlIGV4aXN0aW5nIFhFTk1BUFNQQUNFX2dtZm5fZm9yZWlnbiBzdWJvcCBvZiBYRU5NRU1fYWRk X3RvX3BoeXNtYXAgZm9yYmlkcwphIERvbTAgdG8gbWFwIG1lbW9yeSBwYWdlcyBmcm9tIG9uZSBE b21VIHRvIGFub3RoZXIsIHdoaWNoIHJlc3RyaWN0cyBzb21lIHVzZWZ1bAp5ZXQgbm90IGRhbmdl cm91cyB1c2UgY2FzZXMgLS0gc3VjaCBhcyBzaGFyaW5nIHBhZ2VzIGFtb25nIERvbVUncyBzbyB0 aGF0IHRoZXkKY2FuIGRvIHNobS1iYXNlZCBjb21tdW5pY2F0aW9uLgoKVGhpcyBwYXRjaCBpbnRy b2R1Y2VzIFhFTk1BUFNQQUNFX2dtZm5fc2hhcmUgdG8gYWRkcmVzcyB0aGlzIGluY29udmVuaWVu Y2UsCndoaWNoIGlzIG1vc3RseSB0aGUgc2FtZSBhcyBYRU5NQVBTUEFDRV9nbWZuX2ZvcmVpZ24g YnV0IGhhcyBpdHMgb3duIHhzbSBjaGVjay4KClNwZWNpZmljYWxseSwgdGhlIHBhdGNoOgoKKiBJ bnRyb2R1Y2VzIGEgbmV3IGF2IHBlcm1pc3Npb24gTU1VX19TSEFSRV9NRU0gdG8gZGVub3RlIGlm IHR3byBkb21haW5zIGNhbgogIHNoYXJlIG1lbW9yeSBieSB1c2luZyB0aGUgbmV3IHN1Ym9wOwoq IEludHJvZHVjZXMgeHNtX21hcF9nbWZuX3NoYXJlKCkgdG8gY2hlY2sgaWYgKGN1cnJlbnQpIGhh cyBwcm9wZXIgcGVybWlzc2lvbgogIG92ZXIgKHQpIEFORCBNTVVfX1NIQVJFX01FTSBpcyBhbGxv d2VkIGJldHdlZW4gKGQpIGFuZCAodCk7CiogTW9kaWZ5IHRoZSBkZWZhdWx0IHhlbi50ZSB0byBh bGxvdyBNTVVfX1NIQVJFX01FTSBmb3Igbm9ybWFsIGRvbWFpbnMgdGhhdAogIGFsbG93IGdyYW50 IG1hcHBpbmcvZXZlbnQgY2hhbm5lbHMuCgpUaGUgbmV3IHN1Ym9wIGlzIG1hcmtlZCB1bnN1cHBv cnRlZCBmb3IgeDg2IGJlY2F1c2UgY2FsbGluZyBwMm1fYWRkX2ZvcmVnaW4Kb24gdHdvIERvbVUn cyBpcyBjdXJyZW50bHkgbm90IHN1cHBvcnRlZCBvbiB4ODYuCgpUaGlzIGlzIGZvciB0aGUgcHJv cG9zYWwgIkFsbG93IHNldHRpbmcgdXAgc2hhcmVkIG1lbW9yeSBhcmVhcyBiZXR3ZWVuIFZNcwpm cm9tIHhsIGNvbmZpZyBmaWxlIiAoc2VlIFsxXSkuCgpbMV0gaHR0cHM6Ly9saXN0cy54ZW4ub3Jn L2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMTctMDgvbXNnMDMyNDIuaHRtbAoKU2lnbmVkLW9m Zi1ieTogWmhvbmd6ZSBMaXUgPGJsYWNrc2t5Z2dAZ21haWwuY29tPgoKQ2M6IERhbmllbCBEZSBH cmFhZiA8ZGdkZWdyYUB0eWNoby5uc2EuZ292PgpDYzogSWFuIEphY2tzb24gPGlhbi5qYWNrc29u QGV1LmNpdHJpeC5jb20+CkNjOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgpDYzogU3Rl ZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgpDYzogSnVsaWVuIEdyYWxs IDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KQ2M6IHhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCi0tLQog IFYzOgogICogQ2hhbmdlIHNldmVyYWwgaWYgc3RhdGVtZW50cyB0byB0aGUgR0NDICcuLi4gPSBh ID86IGInIGV4dGVudGlvbi4KICAqIExvb2t1cCB0aGUgY3VycmVudCBkb21haW4gaW4gdGhlIGhv b2tzIGluc3RlYWQgb2YgcGFzc2luZyBpdCBhcyBhbiBhcmcuCgogIFY0OgogICogRWxpbWluYXRl IHRoZSBkdXBsaWNhdGVkIChjKSBvdmVyIChkKSBjaGVjay4KICAqIEFkZGVkIGEgbmV3IHN1Ym9w IGluc3RlYWQgb2YgbW9kaWZ5aW5nIHRoZSBvbGQgc3Vib3AuCi0tLQogdG9vbHMvZmxhc2svcG9s aWN5L21vZHVsZXMveGVuLmlmICAgfCAyICsrCiB4ZW4vYXJjaC9hcm0vbW0uYyAgICAgICAgICAg ICAgICAgICB8IDggKysrKysrKy0KIHhlbi9hcmNoL3g4Ni9tbS5jICAgICAgICAgICAgICAgICAg IHwgNCArKysrCiB4ZW4vaW5jbHVkZS9wdWJsaWMvbWVtb3J5LmggICAgICAgICB8IDQgKysrKwog eGVuL2luY2x1ZGUveHNtL2R1bW15LmggICAgICAgICAgICAgfCA2ICsrKysrKwogeGVuL2luY2x1 ZGUveHNtL3hzbS5oICAgICAgICAgICAgICAgfCA2ICsrKysrKwogeGVuL3hzbS9kdW1teS5jICAg ICAgICAgICAgICAgICAgICAgfCAxICsKIHhlbi94c20vZmxhc2svaG9va3MuYyAgICAgICAgICAg ICAgIHwgNyArKysrKysrCiB4ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9ycyB8IDUg KysrKysKIDkgZmlsZXMgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoK ZGlmZiAtLWdpdCBhL3Rvb2xzL2ZsYXNrL3BvbGljeS9tb2R1bGVzL3hlbi5pZiBiL3Rvb2xzL2Zs YXNrL3BvbGljeS9tb2R1bGVzL3hlbi5pZgppbmRleCA0NTk4ODBiYjAxLi5mMDJkNDkxMTRmIDEw MDY0NAotLS0gYS90b29scy9mbGFzay9wb2xpY3kvbW9kdWxlcy94ZW4uaWYKKysrIGIvdG9vbHMv Zmxhc2svcG9saWN5L21vZHVsZXMveGVuLmlmCkBAIC0xMjcsNiArMTI3LDggQEAgZGVmaW5lKGBk b21haW5fY29tbXMnLCBgCiAJZG9tYWluX2V2ZW50X2NvbW1zKCQxLCAkMikKIAlhbGxvdyAkMSAk MjpncmFudCB7IG1hcF9yZWFkIG1hcF93cml0ZSBjb3B5IHVubWFwIH07CiAJYWxsb3cgJDIgJDE6 Z3JhbnQgeyBtYXBfcmVhZCBtYXBfd3JpdGUgY29weSB1bm1hcCB9OworCWFsbG93ICQxICQyOm1t dSBzaGFyZV9tZW07CisJYWxsb3cgJDIgJDE6bW11IHNoYXJlX21lbTsKICcpCiAKICMgZG9tYWlu X3NlbGZfY29tbXMoZG9tYWluKQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL21tLmMgYi94ZW4v YXJjaC9hcm0vbW0uYwppbmRleCAzYzMyOGUyZGY1Li44ZTM4NWQ2MmE4IDEwMDY0NAotLS0gYS94 ZW4vYXJjaC9hcm0vbW0uYworKysgYi94ZW4vYXJjaC9hcm0vbW0uYwpAQCAtMTI1MSw2ICsxMjUx LDcgQEAgaW50IHhlbm1lbV9hZGRfdG9fcGh5c21hcF9vbmUoCiAKICAgICAgICAgYnJlYWs7CiAg ICAgY2FzZSBYRU5NQVBTUEFDRV9nbWZuX2ZvcmVpZ246CisgICAgY2FzZSBYRU5NQVBTUEFDRV9n bWZuX3NoYXJlOgogICAgIHsKICAgICAgICAgc3RydWN0IGRvbWFpbiAqb2Q7CiAgICAgICAgIHAy bV90eXBlX3QgcDJtdDsKQEAgLTEyNjUsNyArMTI2NiwxMiBAQCBpbnQgeGVubWVtX2FkZF90b19w aHlzbWFwX29uZSgKICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwogICAgICAgICB9CiAKLSAg ICAgICAgcmMgPSB4c21fbWFwX2dtZm5fZm9yZWlnbihYU01fVEFSR0VULCBkLCBvZCk7CisgICAg ICAgIGlmICggc3BhY2UgPT0gWEVOTUFQU1BBQ0VfZ21mbl9mb3JlaWduICkgeworICAgICAgICAg ICAgcmMgPSB4c21fbWFwX2dtZm5fZm9yZWlnbihYU01fVEFSR0VULCBkLCBvZCk7CisgICAgICAg IH0gZWxzZSB7CisgICAgICAgICAgICByYyA9IHhzbV9tYXBfZ21mbl9zaGFyZShYU01fVEFSR0VU LCBkLCBvZCk7CisgICAgICAgIH0KKwogICAgICAgICBpZiAoIHJjICkKICAgICAgICAgewogICAg ICAgICAgICAgcmN1X3VubG9ja19kb21haW4ob2QpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L21tLmMgYi94ZW4vYXJjaC94ODYvbW0uYwppbmRleCBjNzMyNzM0YWMxLi42ODQ0MDNmNzM3IDEw MDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0uYworKysgYi94ZW4vYXJjaC94ODYvbW0uYwpAQCAt NDEyNiw2ICs0MTI2LDEwIEBAIGludCB4ZW5tZW1fYWRkX3RvX3BoeXNtYXBfb25lKAogICAgICAg ICB9CiAgICAgICAgIGNhc2UgWEVOTUFQU1BBQ0VfZ21mbl9mb3JlaWduOgogICAgICAgICAgICAg cmV0dXJuIHAybV9hZGRfZm9yZWlnbihkLCBpZHgsIGdmbl94KGdwZm4pLCBleHRyYS5mb3JlaWdu X2RvbWlkKTsKKyAgICAgICAgY2FzZSBYRU5NQVBTUEFDRV9nbWZuX3NoYXJlOgorICAgICAgICAg ICAgZ2RwcmludGsoWEVOTE9HX1dBUk5JTkcsCisgICAgICAgICAgICAgICAgICAgICAiWEVOTUFQ U1BBQ0VfZ21mbl9zaGFyZSBpcyBjdXJyZW50bHkgbm90IHN1cHBvcnRlZCBvbiB4ODZcbiIpOwor ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBicmVhazsK ICAgICB9CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvbWVtb3J5LmggYi94ZW4vaW5j bHVkZS9wdWJsaWMvbWVtb3J5LmgKaW5kZXggMjkzODZkZjk4Yi4uY2U3MDc4ODY2MCAxMDA2NDQK LS0tIGEveGVuL2luY2x1ZGUvcHVibGljL21lbW9yeS5oCisrKyBiL3hlbi9pbmNsdWRlL3B1Ymxp Yy9tZW1vcnkuaApAQCAtMjI3LDYgKzIyNywxMCBAQCBERUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh4 ZW5fbWFjaHBoeXNfbWFwcGluZ190KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RhZ2UtMiB1c2luZyB0aGUgTm9ybWFsIE1lbW9yeQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJbm5lci9PdXRlciBXcml0ZS1CYWNrIENhY2hlYWJsZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1vcnkgYXR0cmlidXRlLiAqLwor I2RlZmluZSBYRU5NQVBTUEFDRV9nbWZuX3NoYXJlICAgNiAvKiBTYW1lIGFzICpfZ21mbl9mb3Jl aWduLCBidXQgdGhpcyBpcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm b3IgYSBwcml2aWxlZ2VkIGRvbSB0byBzaGFyZSBwYWdlcworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBiZXR3ZWVuIHR3byBkb21zLiAqLworCiAvKiBgIH0gKi8KIAogLyoK ZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oIGIveGVuL2luY2x1ZGUveHNtL2R1 bW15LmgKaW5kZXggZDZkZGFkY2FmZC4uY2RhODdkZWExMiAxMDA2NDQKLS0tIGEveGVuL2luY2x1 ZGUveHNtL2R1bW15LmgKKysrIGIveGVuL2luY2x1ZGUveHNtL2R1bW15LmgKQEAgLTUyMSw2ICs1 MjEsMTIgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IHhzbV9tYXBfZ21mbl9mb3JlaWduKFhTTV9E RUZBVUxUX0FSRyBzdHJ1Y3QgZG9tYWluICpkLCBzdHIKICAgICByZXR1cm4geHNtX2RlZmF1bHRf YWN0aW9uKGFjdGlvbiwgZCwgdCk7CiB9CiAKK3N0YXRpYyBYU01fSU5MSU5FIGludCB4c21fbWFw X2dtZm5fc2hhcmUoWFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBkb21h aW4gKnQpCit7CisgICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNNX1RBUkdFVCk7CisgICAgcmV0dXJu IHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgdCk7Cit9CisKIHN0 YXRpYyBYU01fSU5MSU5FIGludCB4c21faHZtX3BhcmFtKFhTTV9ERUZBVUxUX0FSRyBzdHJ1Y3Qg ZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIG9wKQogewogICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhT TV9UQVJHRVQpOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveHNtL3hzbS5oIGIveGVuL2luY2x1 ZGUveHNtL3hzbS5oCmluZGV4IGUzOTEyYmNjOWQuLjEzMDViMTY5NzMgMTAwNjQ0Ci0tLSBhL3hl bi9pbmNsdWRlL3hzbS94c20uaAorKysgYi94ZW4vaW5jbHVkZS94c20veHNtLmgKQEAgLTg2LDYg Kzg2LDcgQEAgc3RydWN0IHhzbV9vcGVyYXRpb25zIHsKICAgICBpbnQgKCphZGRfdG9fcGh5c21h cCkgKHN0cnVjdCBkb21haW4gKmQxLCBzdHJ1Y3QgZG9tYWluICpkMik7CiAgICAgaW50ICgqcmVt b3ZlX2Zyb21fcGh5c21hcCkgKHN0cnVjdCBkb21haW4gKmQxLCBzdHJ1Y3QgZG9tYWluICpkMik7 CiAgICAgaW50ICgqbWFwX2dtZm5fZm9yZWlnbikgKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBk b21haW4gKnQpOworICAgIGludCAoKm1hcF9nbWZuX3NoYXJlKSAoc3RydWN0IGRvbWFpbiAqZCwg c3RydWN0IGRvbWFpbiAqdCk7CiAgICAgaW50ICgqY2xhaW1fcGFnZXMpIChzdHJ1Y3QgZG9tYWlu ICpkKTsKIAogICAgIGludCAoKmNvbnNvbGVfaW8pIChzdHJ1Y3QgZG9tYWluICpkLCBpbnQgY21k KTsKQEAgLTM3NSw2ICszNzYsMTEgQEAgc3RhdGljIGlubGluZSBpbnQgeHNtX21hcF9nbWZuX2Zv cmVpZ24gKHhzbV9kZWZhdWx0X3QgZGVmLCBzdHJ1Y3QgZG9tYWluICpkLCBzdHIKICAgICByZXR1 cm4geHNtX29wcy0+bWFwX2dtZm5fZm9yZWlnbihkLCB0KTsKIH0KIAorc3RhdGljIGlubGluZSBp bnQgeHNtX21hcF9nbWZuX3NoYXJlICh4c21fZGVmYXVsdF90IGRlZiwgc3RydWN0IGRvbWFpbiAq ZCwgc3RydWN0IGRvbWFpbiAqdCkKK3sKKyAgICByZXR1cm4geHNtX29wcy0+bWFwX2dtZm5fc2hh cmUoZCwgdCk7Cit9CisKIHN0YXRpYyBpbmxpbmUgaW50IHhzbV9jbGFpbV9wYWdlcyh4c21fZGVm YXVsdF90IGRlZiwgc3RydWN0IGRvbWFpbiAqZCkKIHsKICAgICByZXR1cm4geHNtX29wcy0+Y2xh aW1fcGFnZXMoZCk7CmRpZmYgLS1naXQgYS94ZW4veHNtL2R1bW15LmMgYi94ZW4veHNtL2R1bW15 LmMKaW5kZXggNDc5YjEwMzYxNC4uMzAxN2RmYzlhNiAxMDA2NDQKLS0tIGEveGVuL3hzbS9kdW1t eS5jCisrKyBiL3hlbi94c20vZHVtbXkuYwpAQCAtMTI0LDYgKzEyNCw3IEBAIHZvaWQgX19pbml0 IHhzbV9maXh1cF9vcHMgKHN0cnVjdCB4c21fb3BlcmF0aW9ucyAqb3BzKQogICAgIHNldF90b19k dW1teV9pZl9udWxsKG9wcywgYWRkX3RvX3BoeXNtYXApOwogICAgIHNldF90b19kdW1teV9pZl9u dWxsKG9wcywgcmVtb3ZlX2Zyb21fcGh5c21hcCk7CiAgICAgc2V0X3RvX2R1bW15X2lmX251bGwo b3BzLCBtYXBfZ21mbl9mb3JlaWduKTsKKyAgICBzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIG1h cF9nbWZuX3NoYXJlKTsKIAogICAgIHNldF90b19kdW1teV9pZl9udWxsKG9wcywgdm1fZXZlbnRf Y29udHJvbCk7CiAKZGlmZiAtLWdpdCBhL3hlbi94c20vZmxhc2svaG9va3MuYyBiL3hlbi94c20v Zmxhc2svaG9va3MuYwppbmRleCAxODAyZDhkZmU2Li5kNGE4MTUzMzAxIDEwMDY0NAotLS0gYS94 ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIveGVuL3hzbS9mbGFzay9ob29rcy5jCkBAIC0xMTk2 LDYgKzExOTYsMTIgQEAgc3RhdGljIGludCBmbGFza19tYXBfZ21mbl9mb3JlaWduKHN0cnVjdCBk b21haW4gKmQsIHN0cnVjdCBkb21haW4gKnQpCiAgICAgcmV0dXJuIGRvbWFpbl9oYXNfcGVybShk LCB0LCBTRUNDTEFTU19NTVUsIE1NVV9fTUFQX1JFQUQgfCBNTVVfX01BUF9XUklURSk7CiB9CiAK K3N0YXRpYyBpbnQgZmxhc2tfbWFwX2dtZm5fc2hhcmUoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0 IGRvbWFpbiAqdCkKK3sKKyAgICByZXR1cm4gY3VycmVudF9oYXNfcGVybSh0LCBTRUNDTEFTU19N TVUsIE1NVV9fTUFQX1JFQUQgfCBNTVVfX01BUF9XUklURSkgPzoKKyAgICAgICAgZG9tYWluX2hh c19wZXJtKGQsIHQsIFNFQ0NMQVNTX01NVSwgTU1VX19TSEFSRV9NRU0pOworfQorCiBzdGF0aWMg aW50IGZsYXNrX2h2bV9wYXJhbShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIG9wKQog ewogICAgIHUzMiBwZXJtOwpAQCAtMTgxNSw2ICsxODIxLDcgQEAgc3RhdGljIHN0cnVjdCB4c21f b3BlcmF0aW9ucyBmbGFza19vcHMgPSB7CiAgICAgLmFkZF90b19waHlzbWFwID0gZmxhc2tfYWRk X3RvX3BoeXNtYXAsCiAgICAgLnJlbW92ZV9mcm9tX3BoeXNtYXAgPSBmbGFza19yZW1vdmVfZnJv bV9waHlzbWFwLAogICAgIC5tYXBfZ21mbl9mb3JlaWduID0gZmxhc2tfbWFwX2dtZm5fZm9yZWln biwKKyAgICAubWFwX2dtZm5fc2hhcmUgPSBmbGFza19tYXBfZ21mbl9zaGFyZSwKIAogI2lmIGRl ZmluZWQoQ09ORklHX0hBU19QQVNTVEhST1VHSCkgJiYgZGVmaW5lZChDT05GSUdfSEFTX1BDSSkK ICAgICAuZ2V0X2RldmljZV9ncm91cCA9IGZsYXNrX2dldF9kZXZpY2VfZ3JvdXAsCmRpZmYgLS1n aXQgYS94ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9ycyBiL3hlbi94c20vZmxhc2sv cG9saWN5L2FjY2Vzc192ZWN0b3JzCmluZGV4IDg5Yjk5OTY2YmIuLmUyNDlhNjg3MjggMTAwNjQ0 Ci0tLSBhL3hlbi94c20vZmxhc2svcG9saWN5L2FjY2Vzc192ZWN0b3JzCisrKyBiL3hlbi94c20v Zmxhc2svcG9saWN5L2FjY2Vzc192ZWN0b3JzCkBAIC0zODMsNiArMzgzLDExIEBAIGNsYXNzIG1t dQogIyBBbGxvdyBhIHByaXZpbGVnZWQgZG9tYWluIHRvIGluc3RhbGwgYSBtYXAgb2YgYSBwYWdl IGl0IGRvZXMgbm90IG93bi4gIFVzZWQKICMgZm9yIHN0dWIgZG9tYWluIGRldmljZSBtb2RlbHMg d2l0aCB0aGUgUFYgZnJhbWVidWZmZXIuCiAgICAgdGFyZ2V0X2hhY2sKKyMgQ2hlY2tlZCB3aGVu IHVzaW5nIFhFTk1FTV9hZGRfdG9fcGh5c21hcCB3aXRoIFhFTk1BUFNQQUNFX2dtZm5fc2hhcmUK KyMgdG8gc2hhcmUgbWVtb3J5IGJldHdlZW4gdHdvIGRvbWFpbnM6CisjICBzb3VyY2UgPSBkb21h aW4gd2hvc2UgbWVtb3J5IGlzIGJlaW5nIHNoYXJlZAorIyAgdGFyZ2V0ID0gY2xpZW50IGRvbWFp bgorICAgIHNoYXJlX21lbQogfQogCiAjIGNvbnRyb2wgb2YgdGhlIHBhZ2luZ19kb21jdGwgc3Bs aXQgYnkgc3Vib3AKLS0gCjIuMTYuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5m by94ZW4tZGV2ZWw=