From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC XEN PATCH v3 28/39] xen: add hypercall XENMEM_populate_pmem_map Date: Mon, 11 Sep 2017 12:38:09 +0800 Message-ID: <20170911043820.14617-29-haozhong.zhang@intel.com> References: <20170911043820.14617-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: <20170911043820.14617-1-haozhong.zhang@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Haozhong Zhang , Wei Liu , Andrew Cooper , Ian Jackson , Jan Beulich , Chao Peng , Dan Williams , Daniel De Graaf List-Id: xen-devel@lists.xenproject.org VGhpcyBoeXBlcmNhbGwgd2lsbCBiZSB1c2VkIGJ5IGRldmljZSBtb2RlbHMgdG8gbWFwIGhvc3Qg UE1FTSBwYWdlcyB0bwpndWVzdC4KClNpZ25lZC1vZmYtYnk6IEhhb3pob25nIFpoYW5nIDxoYW96 aG9uZy56aGFuZ0BpbnRlbC5jb20+Ci0tLQpDYzogRGFuaWVsIERlIEdyYWFmIDxkZ2RlZ3JhQHR5 Y2hvLm5zYS5nb3Y+CkNjOiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4K Q2M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRy ZXcuY29vcGVyM0BjaXRyaXguY29tPgpDQzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t PgotLS0KIHRvb2xzL2ZsYXNrL3BvbGljeS9tb2R1bGVzL3hlbi5pZiAgIHwgIDIgKy0KIHRvb2xz L2xpYnhjL2luY2x1ZGUveGVuY3RybC5oICAgICAgIHwgMTcgKysrKysrKysrKysrKysKIHRvb2xz L2xpYnhjL3hjX2RvbWFpbi5jICAgICAgICAgICAgIHwgMTUgKysrKysrKysrKysrKwogeGVuL2Nv bW1vbi9jb21wYXQvbWVtb3J5LmMgICAgICAgICAgfCAgMSArCiB4ZW4vY29tbW9uL21lbW9yeS5j ICAgICAgICAgICAgICAgICB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKIHhlbi9pbmNsdWRlL3B1YmxpYy9tZW1vcnkuaCAgICAgICAgIHwgMTQgKysrKysrKysrKyst CiB4ZW4vaW5jbHVkZS94c20vZHVtbXkuaCAgICAgICAgICAgICB8IDExICsrKysrKysrKysKIHhl bi9pbmNsdWRlL3hzbS94c20uaCAgICAgICAgICAgICAgIHwgMTIgKysrKysrKysrKwogeGVuL3hz bS9kdW1teS5jICAgICAgICAgICAgICAgICAgICAgfCAgNCArKysrCiB4ZW4veHNtL2ZsYXNrL2hv b2tzLmMgICAgICAgICAgICAgICB8IDEzICsrKysrKysrKysrCiB4ZW4veHNtL2ZsYXNrL3BvbGlj eS9hY2Nlc3NfdmVjdG9ycyB8ICAyICsrCiAxMSBmaWxlcyBjaGFuZ2VkLCAxMzMgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9mbGFzay9wb2xpY3kvbW9k dWxlcy94ZW4uaWYgYi90b29scy9mbGFzay9wb2xpY3kvbW9kdWxlcy94ZW4uaWYKaW5kZXggOTEy NjQwMDAyZS4uOTYzNGRlZTI1ZiAxMDA2NDQKLS0tIGEvdG9vbHMvZmxhc2svcG9saWN5L21vZHVs ZXMveGVuLmlmCisrKyBiL3Rvb2xzL2ZsYXNrL3BvbGljeS9tb2R1bGVzL3hlbi5pZgpAQCAtNTUs NyArNTUsNyBAQCBkZWZpbmUoYGNyZWF0ZV9kb21haW5fY29tbW9uJywgYAogCQkJcHNyX2NtdF9v cCBwc3JfY2F0X29wIHNvZnRfcmVzZXQgfTsKIAlhbGxvdyAkMSAkMjpzZWN1cml0eSBjaGVja19j b250ZXh0OwogCWFsbG93ICQxICQyOnNoYWRvdyBlbmFibGU7Ci0JYWxsb3cgJDEgJDI6bW11IHsg bWFwX3JlYWQgbWFwX3dyaXRlIGFkanVzdCBtZW1vcnltYXAgcGh5c21hcCBwaW5wYWdlIG1tdWV4 dF9vcCB1cGRhdGVtcCB9OworCWFsbG93ICQxICQyOm1tdSB7IG1hcF9yZWFkIG1hcF93cml0ZSBh ZGp1c3QgbWVtb3J5bWFwIHBoeXNtYXAgcGlucGFnZSBtbXVleHRfb3AgdXBkYXRlbXAgcG9wdWxh dGVfcG1lbV9tYXAgfTsKIAlhbGxvdyAkMSAkMjpncmFudCBzZXR1cDsKIAlhbGxvdyAkMSAkMjpo dm0geyBjYWNoZWF0dHIgZ2V0cGFyYW0gaHZtY3RsIHNldGh2bWMKIAkJCXNldHBhcmFtIG5lc3Rl ZCBhbHRwMm1odm0gYWx0cDJtaHZtX29wIGRtIH07CmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy9p bmNsdWRlL3hlbmN0cmwuaCBiL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCmluZGV4IDQx ZTVlMzQwOGMuLmE4MWRjZGJlNTggMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVu Y3RybC5oCisrKyBiL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCkBAIC0yNjQzLDYgKzI2 NDMsMjMgQEAgaW50IHhjX252ZGltbV9wbWVtX3NldHVwX2RhdGEoeGNfaW50ZXJmYWNlICp4Y2gs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHNtZm4sIHVuc2ln bmVkIGxvbmcgZW1mbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxv bmcgbWdtdF9zbWZuLCB1bnNpZ25lZCBsb25nIG1nbXRfZW1mbik7CiAKKy8qCisgKiBNYXAgc3Bl Y2lmaWVkIGhvc3QgUE1FTSBwYWdlcyB0byB0aGUgc3BlY2lmaWVkIGd1ZXN0IGFkZHJlc3MuCisg KgorICogUGFyYW1ldGVyczoKKyAqICB4Y2g6ICAgICB4YyBpbnRlcmZhY2UgaGFuZGxlCisgKiAg ZG9taWQ6ICAgdGhlIHRhcmdldCBkb21haW4gaWQKKyAqICBtZm46ICAgICB0aGUgc3RhcnQgTUZO IG9mIHRoZSBQTUVNIHBhZ2VzCisgKiAgZ2ZuOiAgICAgdGhlIHN0YXJ0IEdGTiBvZiB0aGUgdGFy Z2V0IGd1ZXN0IHBoeXNpY2FsIHBhZ2VzCisgKiAgbnJfbWZuczogdGhlIG51bWJlciBvZiBQTUVN IHBhZ2VzIHRvIGJlIG1hcHBlZAorICoKKyAqIFJldHVybjoKKyAqICBPbiBzdWNjZXNzLCByZXR1 cm4gMC4gT3RoZXJ3aXNlLCByZXR1cm4gYSBub24temVybyBlcnJvciBjb2RlLgorICovCitpbnQg eGNfZG9tYWluX3BvcHVsYXRlX3BtZW1fbWFwKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBk b21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBtZm4s IHVuc2lnbmVkIGxvbmcgZ2ZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp Z25lZCBsb25nIG5yX21mbnMpOworCiAvKiBDb21wYXQgc2hpbXMgKi8KICNpbmNsdWRlICJ4ZW5j dHJsX2NvbXBhdC5oIgogCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19kb21haW4uYyBiL3Rv b2xzL2xpYnhjL3hjX2RvbWFpbi5jCmluZGV4IDNiYWI0ZThiYWIuLmI1NDhkYTc1MGEgMTAwNjQ0 Ci0tLSBhL3Rvb2xzL2xpYnhjL3hjX2RvbWFpbi5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX2RvbWFp bi5jCkBAIC0yMzk3LDYgKzIzOTcsMjEgQEAgaW50IHhjX2RvbWFpbl9zb2Z0X3Jlc2V0KHhjX2lu dGVyZmFjZSAqeGNoLAogICAgIGRvbWN0bC5kb21haW4gPSAoZG9taWRfdClkb21pZDsKICAgICBy ZXR1cm4gZG9fZG9tY3RsKHhjaCwgJmRvbWN0bCk7CiB9CisKK2ludCB4Y19kb21haW5fcG9wdWxh dGVfcG1lbV9tYXAoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWlkLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG1mbiwgdW5zaWduZWQgbG9uZyBn Zm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbnJfbWZu cykKK3sKKyAgICBzdHJ1Y3QgeGVuX3BtZW1fbWFwIGFyZ3MgPSB7CisgICAgICAgIC5kb21pZCAg ID0gZG9taWQsCisgICAgICAgIC5tZm4gICAgID0gbWZuLAorICAgICAgICAuZ2ZuICAgICA9IGdm biwKKyAgICAgICAgLm5yX21mbnMgPSBucl9tZm5zLAorICAgIH07CisKKyAgICByZXR1cm4gZG9f bWVtb3J5X29wKHhjaCwgWEVOTUVNX3BvcHVsYXRlX3BtZW1fbWFwLCAmYXJncywgc2l6ZW9mKGFy Z3MpKTsKK30KKwogLyoKICAqIExvY2FsIHZhcmlhYmxlczoKICAqIG1vZGU6IEMKZGlmZiAtLWdp dCBhL3hlbi9jb21tb24vY29tcGF0L21lbW9yeS5jIGIveGVuL2NvbW1vbi9jb21wYXQvbWVtb3J5 LmMKaW5kZXggMzViYjI1OTgwOC4uNTFiZWM4MzViOSAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9j b21wYXQvbWVtb3J5LmMKKysrIGIveGVuL2NvbW1vbi9jb21wYXQvbWVtb3J5LmMKQEAgLTUyNSw2 ICs1MjUsNyBAQCBpbnQgY29tcGF0X21lbW9yeV9vcCh1bnNpZ25lZCBpbnQgY21kLCBYRU5fR1VF U1RfSEFORExFX1BBUkFNKHZvaWQpIGNvbXBhdCkKICAgICAgICAgY2FzZSBYRU5NRU1fYWRkX3Rv X3BoeXNtYXA6CiAgICAgICAgIGNhc2UgWEVOTUVNX3JlbW92ZV9mcm9tX3BoeXNtYXA6CiAgICAg ICAgIGNhc2UgWEVOTUVNX2FjY2Vzc19vcDoKKyAgICAgICAgY2FzZSBYRU5NRU1fcG9wdWxhdGVf cG1lbV9tYXA6CiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlIFhFTk1FTV9nZXRf dm51bWFpbmZvOgpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9tZW1vcnkuYyBiL3hlbi9jb21tb24v bWVtb3J5LmMKaW5kZXggMjZkYTYwNTBmNi4uMzFlZjQ4MDU2MiAxMDA2NDQKLS0tIGEveGVuL2Nv bW1vbi9tZW1vcnkuYworKysgYi94ZW4vY29tbW9uL21lbW9yeS5jCkBAIC0yMyw2ICsyMyw3IEBA CiAjaW5jbHVkZSA8eGVuL251bWEuaD4KICNpbmNsdWRlIDx4ZW4vbWVtX2FjY2Vzcy5oPgogI2lu Y2x1ZGUgPHhlbi90cmFjZS5oPgorI2luY2x1ZGUgPHhlbi9wbWVtLmg+CiAjaW5jbHVkZSA8YXNt L2N1cnJlbnQuaD4KICNpbmNsdWRlIDxhc20vaGFyZGlycS5oPgogI2luY2x1ZGUgPGFzbS9wMm0u aD4KQEAgLTEzNzksNiArMTM4MCw0OSBAQCBsb25nIGRvX21lbW9yeV9vcCh1bnNpZ25lZCBsb25n IGNtZCwgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcpCiAgICAgfQogI2VuZGlmCiAK KyNpZmRlZiBDT05GSUdfTlZESU1NX1BNRU0KKyAgICBjYXNlIFhFTk1FTV9wb3B1bGF0ZV9wbWVt X21hcDoKKyAgICB7CisgICAgICAgIHN0cnVjdCB4ZW5fcG1lbV9tYXAgbWFwOworICAgICAgICBz dHJ1Y3QgeGVuX3BtZW1fbWFwX2FyZ3MgYXJnczsKKworICAgICAgICBpZiAoIGNvcHlfZnJvbV9n dWVzdCgmbWFwLCBhcmcsIDEpICkKKyAgICAgICAgICAgIHJldHVybiAtRUZBVUxUOworCisgICAg ICAgIGlmICggbWFwLmRvbWlkID09IERPTUlEX1NFTEYgKQorICAgICAgICAgICAgcmV0dXJuIC1F SU5WQUw7CisKKyAgICAgICAgZCA9IHJjdV9sb2NrX2RvbWFpbl9ieV9hbnlfaWQobWFwLmRvbWlk KTsKKyAgICAgICAgaWYgKCAhZCApCisgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKKworICAg ICAgICByYyA9IHhzbV9wb3B1bGF0ZV9wbWVtX21hcChYU01fVEFSR0VULCBjdXJyX2QsIGQpOwor ICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgeworICAgICAgICAgICAgcmN1X3VubG9ja19kb21h aW4oZCk7CisgICAgICAgICAgICByZXR1cm4gcmM7CisgICAgICAgIH0KKworICAgICAgICBhcmdz LmRvbWFpbiA9IGQ7CisgICAgICAgIGFyZ3MubWZuID0gbWFwLm1mbjsKKyAgICAgICAgYXJncy5n Zm4gPSBtYXAuZ2ZuOworICAgICAgICBhcmdzLm5yX21mbnMgPSBtYXAubnJfbWZuczsKKyAgICAg ICAgYXJncy5ucl9kb25lID0gc3RhcnRfZXh0ZW50OworICAgICAgICBhcmdzLnByZWVtcHRlZCA9 IDA7CisKKyAgICAgICAgcmMgPSBwbWVtX3BvcHVsYXRlKCZhcmdzKTsKKworICAgICAgICByY3Vf dW5sb2NrX2RvbWFpbihkKTsKKworICAgICAgICBpZiAoIHJjID09IC1FUkVTVEFSVCAmJiBhcmdz LnByZWVtcHRlZCApCisgICAgICAgICAgICByZXR1cm4gaHlwZXJjYWxsX2NyZWF0ZV9jb250aW51 YXRpb24oCisgICAgICAgICAgICAgICAgX19IWVBFUlZJU09SX21lbW9yeV9vcCwgImxoIiwKKyAg ICAgICAgICAgICAgICBvcCB8IChhcmdzLm5yX2RvbmUgPDwgTUVNT1BfRVhURU5UX1NISUZUKSwg YXJnKTsKKworICAgICAgICBicmVhazsKKyAgICB9CisjZW5kaWYgLyogQ09ORklHX05WRElNTV9Q TUVNICovCisKICAgICBkZWZhdWx0OgogICAgICAgICByYyA9IGFyY2hfbWVtb3J5X29wKGNtZCwg YXJnKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvbWVt b3J5LmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvbWVtb3J5LmgKaW5kZXggMjkzODZkZjk4Yi4uZDc0 NDM2ZTRiMCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL21lbW9yeS5oCisrKyBiL3hl bi9pbmNsdWRlL3B1YmxpYy9tZW1vcnkuaApAQCAtNjUwLDcgKzY1MCwxOSBAQCBzdHJ1Y3QgeGVu X3ZudW1hX3RvcG9sb2d5X2luZm8gewogdHlwZWRlZiBzdHJ1Y3QgeGVuX3ZudW1hX3RvcG9sb2d5 X2luZm8geGVuX3ZudW1hX3RvcG9sb2d5X2luZm9fdDsKIERFRklORV9YRU5fR1VFU1RfSEFORExF KHhlbl92bnVtYV90b3BvbG9neV9pbmZvX3QpOwogCi0vKiBOZXh0IGF2YWlsYWJsZSBzdWJvcCBu dW1iZXIgaXMgMjggKi8KKyNkZWZpbmUgWEVOTUVNX3BvcHVsYXRlX3BtZW1fbWFwIDI4CisKK3N0 cnVjdCB4ZW5fcG1lbV9tYXAgeworICAgIC8qIElOICovCisgICAgZG9taWRfdCBkb21pZDsKKyAg ICB1bnNpZ25lZCBsb25nIG1mbjsKKyAgICB1bnNpZ25lZCBsb25nIGdmbjsKKyAgICB1bnNpZ25l ZCBpbnQgbnJfbWZuczsKK307Cit0eXBlZGVmIHN0cnVjdCB4ZW5fcG1lbV9tYXAgeGVuX3BtZW1f bWFwX3Q7CitERUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh4ZW5fcG1lbV9tYXBfdCk7CisKKy8qIE5l eHQgYXZhaWxhYmxlIHN1Ym9wIG51bWJlciBpcyAyOSAqLwogCiAjZW5kaWYgLyogX19YRU5fUFVC TElDX01FTU9SWV9IX18gKi8KIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveHNtL2R1bW15Lmgg Yi94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAppbmRleCBiYTg5ZWE0YmMxLi42MTA3ZGEzMDhjIDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAorKysgYi94ZW4vaW5jbHVkZS94c20v ZHVtbXkuaApAQCAtNzI0LDMgKzcyNCwxNCBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQgeHNtX3hl bl92ZXJzaW9uIChYU01fREVGQVVMVF9BUkcgdWludDMyX3Qgb3ApCiAgICAgICAgIHJldHVybiB4 c21fZGVmYXVsdF9hY3Rpb24oWFNNX1BSSVYsIGN1cnJlbnQtPmRvbWFpbiwgTlVMTCk7CiAgICAg fQogfQorCisjaWZkZWYgQ09ORklHX05WRElNTV9QTUVNCisKK3N0YXRpYyBYU01fSU5MSU5FIGlu dCB4c21fcG9wdWxhdGVfcG1lbV9tYXAoWFNNX0RFRkFVTFRfQVJHCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkb21haW4gKmQxLCBzdHJ1Y3QgZG9t YWluICpkMikKK3sKKyAgICBYU01fQVNTRVJUX0FDVElPTihYU01fVEFSR0VUKTsKKyAgICByZXR1 cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgZDEsIGQyKTsKK30KKworI2VuZGlmIC8qIENP TkZJR19OVkRJTU1fUE1FTSAqLwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveHNtL3hzbS5oIGIv eGVuL2luY2x1ZGUveHNtL3hzbS5oCmluZGV4IDdmN2ZlZmZjNjguLmU0M2U3OWY3MTkgMTAwNjQ0 Ci0tLSBhL3hlbi9pbmNsdWRlL3hzbS94c20uaAorKysgYi94ZW4vaW5jbHVkZS94c20veHNtLmgK QEAgLTE4MCw2ICsxODAsMTAgQEAgc3RydWN0IHhzbV9vcGVyYXRpb25zIHsKICAgICBpbnQgKCpk bV9vcCkgKHN0cnVjdCBkb21haW4gKmQpOwogI2VuZGlmCiAgICAgaW50ICgqeGVuX3ZlcnNpb24p ICh1aW50MzJfdCBjbWQpOworCisjaWZkZWYgQ09ORklHX05WRElNTV9QTUVNCisgICAgaW50ICgq cG9wdWxhdGVfcG1lbV9tYXApIChzdHJ1Y3QgZG9tYWluICpkMSwgc3RydWN0IGRvbWFpbiAqZDIp OworI2VuZGlmCiB9OwogCiAjaWZkZWYgQ09ORklHX1hTTQpAQCAtNjkyLDYgKzY5NiwxNCBAQCBz dGF0aWMgaW5saW5lIGludCB4c21feGVuX3ZlcnNpb24gKHhzbV9kZWZhdWx0X3QgZGVmLCB1aW50 MzJfdCBvcCkKICAgICByZXR1cm4geHNtX29wcy0+eGVuX3ZlcnNpb24ob3ApOwogfQogCisjaWZk ZWYgQ09ORklHX05WRElNTV9QTUVNCitzdGF0aWMgaW5saW5lIGludCB4c21fcG9wdWxhdGVfcG1l bV9tYXAoeHNtX2RlZmF1bHRfdCBkZWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IGRvbWFpbiAqZDEsIHN0cnVjdCBkb21haW4gKmQyKQoreworICAgIHJl dHVybiB4c21fb3BzLT5wb3B1bGF0ZV9wbWVtX21hcChkMSwgZDIpOworfQorI2VuZGlmIC8qIENP TkZJR19OVkRJTU1fUE1FTSAqLworCiAjZW5kaWYgLyogWFNNX05PX1dSQVBQRVJTICovCiAKICNp ZmRlZiBDT05GSUdfTVVMVElCT09UCmRpZmYgLS1naXQgYS94ZW4veHNtL2R1bW15LmMgYi94ZW4v eHNtL2R1bW15LmMKaW5kZXggNDc5YjEwMzYxNC4uNGQ2NWVhY2E2MSAxMDA2NDQKLS0tIGEveGVu L3hzbS9kdW1teS5jCisrKyBiL3hlbi94c20vZHVtbXkuYwpAQCAtMTU3LDQgKzE1Nyw4IEBAIHZv aWQgX19pbml0IHhzbV9maXh1cF9vcHMgKHN0cnVjdCB4c21fb3BlcmF0aW9ucyAqb3BzKQogICAg IHNldF90b19kdW1teV9pZl9udWxsKG9wcywgZG1fb3ApOwogI2VuZGlmCiAgICAgc2V0X3RvX2R1 bW15X2lmX251bGwob3BzLCB4ZW5fdmVyc2lvbik7CisKKyNpZmRlZiBDT05GSUdfTlZESU1NX1BN RU0KKyAgICBzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHBvcHVsYXRlX3BtZW1fbWFwKTsKKyNl bmRpZgogfQpkaWZmIC0tZ2l0IGEveGVuL3hzbS9mbGFzay9ob29rcy5jIGIveGVuL3hzbS9mbGFz ay9ob29rcy5jCmluZGV4IGVkZmU1Mjk0OTUuLmQ5MWYyNDZiNDcgMTAwNjQ0Ci0tLSBhL3hlbi94 c20vZmxhc2svaG9va3MuYworKysgYi94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKQEAgLTE3MTksNiAr MTcxOSwxNSBAQCBzdGF0aWMgaW50IGZsYXNrX3hlbl92ZXJzaW9uICh1aW50MzJfdCBvcCkKICAg ICB9CiB9CiAKKyNpZmRlZiBDT05GSUdfTlZESU1NX1BNRU0KKworc3RhdGljIGludCBmbGFza19w b3B1bGF0ZV9wbWVtX21hcChzdHJ1Y3QgZG9tYWluICpkMSwgc3RydWN0IGRvbWFpbiAqZDIpCit7 CisgICAgcmV0dXJuIGRvbWFpbl9oYXNfcGVybShkMSwgZDIsIFNFQ0NMQVNTX01NVSwgTU1VX19Q T1BVTEFURV9QTUVNX01BUCk7Cit9CisKKyNlbmRpZiAvKiBDT05GSUdfTlZESU1NX1BNRU0gKi8K KwogbG9uZyBkb19mbGFza19vcChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhzbV9vcF90KSB1X2Zs YXNrX29wKTsKIGludCBjb21wYXRfZmxhc2tfb3AoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4c21f b3BfdCkgdV9mbGFza19vcCk7CiAKQEAgLTE4NTIsNiArMTg2MSwxMCBAQCBzdGF0aWMgc3RydWN0 IHhzbV9vcGVyYXRpb25zIGZsYXNrX29wcyA9IHsKICAgICAuZG1fb3AgPSBmbGFza19kbV9vcCwK ICNlbmRpZgogICAgIC54ZW5fdmVyc2lvbiA9IGZsYXNrX3hlbl92ZXJzaW9uLAorCisjaWZkZWYg Q09ORklHX05WRElNTV9QTUVNCisgICAgLnBvcHVsYXRlX3BtZW1fbWFwID0gZmxhc2tfcG9wdWxh dGVfcG1lbV9tYXAsCisjZW5kaWYKIH07CiAKIHZvaWQgX19pbml0IGZsYXNrX2luaXQoY29uc3Qg dm9pZCAqcG9saWN5X2J1ZmZlciwgc2l6ZV90IHBvbGljeV9zaXplKQpkaWZmIC0tZ2l0IGEveGVu L3hzbS9mbGFzay9wb2xpY3kvYWNjZXNzX3ZlY3RvcnMgYi94ZW4veHNtL2ZsYXNrL3BvbGljeS9h Y2Nlc3NfdmVjdG9ycwppbmRleCBhZjA1ODI2MDY0Li5mZTMyZmQ5M2M4IDEwMDY0NAotLS0gYS94 ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9ycworKysgYi94ZW4veHNtL2ZsYXNrL3Bv bGljeS9hY2Nlc3NfdmVjdG9ycwpAQCAtMzg3LDYgKzM4Nyw4IEBAIGNsYXNzIG1tdQogIyBBbGxv dyBhIHByaXZpbGVnZWQgZG9tYWluIHRvIGluc3RhbGwgYSBtYXAgb2YgYSBwYWdlIGl0IGRvZXMg bm90IG93bi4gIFVzZWQKICMgZm9yIHN0dWIgZG9tYWluIGRldmljZSBtb2RlbHMgd2l0aCB0aGUg UFYgZnJhbWVidWZmZXIuCiAgICAgdGFyZ2V0X2hhY2sKKyMgWEVOTUVNX3BvcHVsYXRlX3BtZW1f bWFwCisgICAgcG9wdWxhdGVfcG1lbV9tYXAKIH0KIAogIyBjb250cm9sIG9mIHRoZSBwYWdpbmdf ZG9tY3RsIHNwbGl0IGJ5IHN1Ym9wCi0tIAoyLjE0LjEKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK