From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC XEN PATCH v4 29/41] xen: add hypercall XENMEM_populate_pmem_map Date: Thu, 7 Dec 2017 18:10:18 +0800 Message-ID: <20171207101030.22364-30-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 , Daniel De Graaf List-Id: xen-devel@lists.xenproject.org VGhpcyBoeXBlcmNhbGwgd2lsbCBiZSB1c2VkIGJ5IGRldmljZSBtb2RlbHMgdG8gbWFwIGhvc3Qg UE1FTSBwYWdlcyB0bwpndWVzdC4KClNpZ25lZC1vZmYtYnk6IEhhb3pob25nIFpoYW5nIDxoYW96 aG9uZy56aGFuZ0BpbnRlbC5jb20+Ci0tLQpDYzogRGFuaWVsIERlIEdyYWFmIDxkZ2RlZ3JhQHR5 Y2hvLm5zYS5nb3Y+CkNjOiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4K Q2M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRy ZXcuY29vcGVyM0BjaXRyaXguY29tPgpDYzogR2VvcmdlIER1bmxhcCA8R2VvcmdlLkR1bmxhcEBl dS5jaXRyaXguY29tPgpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzogS29u cmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgpDYzogU3RlZmFubyBT dGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgpDYzogVGltIERlZWdhbiA8dGltQHhl bi5vcmc+Ci0tLQogdG9vbHMvZmxhc2svcG9saWN5L21vZHVsZXMveGVuLmlmICAgfCAgMyArKy0K IHRvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oICAgICAgIHwgMTcgKysrKysrKysrKysrKysK IHRvb2xzL2xpYnhjL3hjX2RvbWFpbi5jICAgICAgICAgICAgIHwgMTUgKysrKysrKysrKysrKwog eGVuL2NvbW1vbi9jb21wYXQvbWVtb3J5LmMgICAgICAgICAgfCAgMSArCiB4ZW4vY29tbW9uL21l bW9yeS5jICAgICAgICAgICAgICAgICB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIHhlbi9pbmNsdWRlL3B1YmxpYy9tZW1vcnkuaCAgICAgICAgIHwgMTQgKysrKysr KysrKystCiB4ZW4vaW5jbHVkZS94c20vZHVtbXkuaCAgICAgICAgICAgICB8IDExICsrKysrKysr KysKIHhlbi9pbmNsdWRlL3hzbS94c20uaCAgICAgICAgICAgICAgIHwgMTIgKysrKysrKysrKwog eGVuL3hzbS9kdW1teS5jICAgICAgICAgICAgICAgICAgICAgfCAgNCArKysrCiB4ZW4veHNtL2Zs YXNrL2hvb2tzLmMgICAgICAgICAgICAgICB8IDEzICsrKysrKysrKysrCiB4ZW4veHNtL2ZsYXNr L3BvbGljeS9hY2Nlc3NfdmVjdG9ycyB8ICAyICsrCiAxMSBmaWxlcyBjaGFuZ2VkLCAxMzQgaW5z ZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9mbGFzay9wb2xp Y3kvbW9kdWxlcy94ZW4uaWYgYi90b29scy9mbGFzay9wb2xpY3kvbW9kdWxlcy94ZW4uaWYKaW5k ZXggNTU0Mzc0OTZmNi4uOGMyZDY3NzZmNCAxMDA2NDQKLS0tIGEvdG9vbHMvZmxhc2svcG9saWN5 L21vZHVsZXMveGVuLmlmCisrKyBiL3Rvb2xzL2ZsYXNrL3BvbGljeS9tb2R1bGVzL3hlbi5pZgpA QCAtNTUsNyArNTUsOCBAQCBkZWZpbmUoYGNyZWF0ZV9kb21haW5fY29tbW9uJywgYAogCQkJcHNy X2NtdF9vcCBwc3JfY2F0X29wIHNvZnRfcmVzZXQgc2V0X2dudHRhYl9saW1pdHMgfTsKIAlhbGxv dyAkMSAkMjpzZWN1cml0eSBjaGVja19jb250ZXh0OwogCWFsbG93ICQxICQyOnNoYWRvdyBlbmFi bGU7Ci0JYWxsb3cgJDEgJDI6bW11IHsgbWFwX3JlYWQgbWFwX3dyaXRlIGFkanVzdCBtZW1vcnlt YXAgcGh5c21hcCBwaW5wYWdlIG1tdWV4dF9vcCB1cGRhdGVtcCB9OworCWFsbG93ICQxICQyOm1t dSB7IG1hcF9yZWFkIG1hcF93cml0ZSBhZGp1c3QgbWVtb3J5bWFwIHBoeXNtYXAgcGlucGFnZSBt bXVleHRfb3AgdXBkYXRlbXAKKwkJCXBvcHVsYXRlX3BtZW1fbWFwIH07CiAJYWxsb3cgJDEgJDI6 Z3JhbnQgc2V0dXA7CiAJYWxsb3cgJDEgJDI6aHZtIHsgY2FjaGVhdHRyIGdldHBhcmFtIGh2bWN0 bCBzZXRodm1jCiAJCQlzZXRwYXJhbSBuZXN0ZWQgYWx0cDJtaHZtIGFsdHAybWh2bV9vcCBkbSB9 OwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmggYi90b29scy9saWJ4 Yy9pbmNsdWRlL3hlbmN0cmwuaAppbmRleCA1MTk0ZDNmZjVlLi40ZDY2Y2JlZDBiIDEwMDY0NAot LS0gYS90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaAorKysgYi90b29scy9saWJ4Yy9pbmNs dWRlL3hlbmN0cmwuaApAQCAtMjY3OCw2ICsyNjc4LDIzIEBAIGludCB4Y19udmRpbW1fcG1lbV9z ZXR1cF9kYXRhKHhjX2ludGVyZmFjZSAqeGNoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdW5zaWduZWQgbG9uZyBzbWZuLCB1bnNpZ25lZCBsb25nIGVtZm4sCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG1nbXRfc21mbiwgdW5zaWduZWQgbG9uZyBt Z210X2VtZm4pOwogCisvKgorICogTWFwIHNwZWNpZmllZCBob3N0IFBNRU0gcGFnZXMgdG8gdGhl IHNwZWNpZmllZCBndWVzdCBhZGRyZXNzLgorICoKKyAqIFBhcmFtZXRlcnM6CisgKiAgeGNoOiAg ICAgeGMgaW50ZXJmYWNlIGhhbmRsZQorICogIGRvbWlkOiAgIHRoZSB0YXJnZXQgZG9tYWluIGlk CisgKiAgbWZuOiAgICAgdGhlIHN0YXJ0IE1GTiBvZiB0aGUgUE1FTSBwYWdlcworICogIGdmbjog ICAgIHRoZSBzdGFydCBHRk4gb2YgdGhlIHRhcmdldCBndWVzdCBwaHlzaWNhbCBwYWdlcworICog IG5yX21mbnM6IHRoZSBudW1iZXIgb2YgUE1FTSBwYWdlcyB0byBiZSBtYXBwZWQKKyAqCisgKiBS ZXR1cm46CisgKiAgT24gc3VjY2VzcywgcmV0dXJuIDAuIE90aGVyd2lzZSwgcmV0dXJuIGEgbm9u LXplcm8gZXJyb3IgY29kZS4KKyAqLworaW50IHhjX2RvbWFpbl9wb3B1bGF0ZV9wbWVtX21hcCh4 Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbWZuLCB1bnNpZ25lZCBsb25nIGdmbiwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBucl9tZm5zKTsKKwogLyogQ29t cGF0IHNoaW1zICovCiAjaW5jbHVkZSAieGVuY3RybF9jb21wYXQuaCIKIApkaWZmIC0tZ2l0IGEv dG9vbHMvbGlieGMveGNfZG9tYWluLmMgYi90b29scy9saWJ4Yy94Y19kb21haW4uYwppbmRleCAz Y2NkMjdmMTAxLi5hNjI0NzBlNmQ4IDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy94Y19kb21haW4u YworKysgYi90b29scy9saWJ4Yy94Y19kb21haW4uYwpAQCAtMjQzNSw2ICsyNDM1LDIxIEBAIGlu dCB4Y19kb21haW5fc29mdF9yZXNldCh4Y19pbnRlcmZhY2UgKnhjaCwKICAgICBkb21jdGwuZG9t YWluID0gZG9taWQ7CiAgICAgcmV0dXJuIGRvX2RvbWN0bCh4Y2gsICZkb21jdGwpOwogfQorCitp bnQgeGNfZG9tYWluX3BvcHVsYXRlX3BtZW1fbWFwKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJf dCBkb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBt Zm4sIHVuc2lnbmVkIGxvbmcgZ2ZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 bnNpZ25lZCBsb25nIG5yX21mbnMpCit7CisgICAgc3RydWN0IHhlbl9wbWVtX21hcCBhcmdzID0g eworICAgICAgICAuZG9taWQgICA9IGRvbWlkLAorICAgICAgICAubWZuICAgICA9IG1mbiwKKyAg ICAgICAgLmdmbiAgICAgPSBnZm4sCisgICAgICAgIC5ucl9tZm5zID0gbnJfbWZucywKKyAgICB9 OworCisgICAgcmV0dXJuIGRvX21lbW9yeV9vcCh4Y2gsIFhFTk1FTV9wb3B1bGF0ZV9wbWVtX21h cCwgJmFyZ3MsIHNpemVvZihhcmdzKSk7Cit9CisKIC8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAg KiBtb2RlOiBDCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2NvbXBhdC9tZW1vcnkuYyBiL3hlbi9j b21tb24vY29tcGF0L21lbW9yeS5jCmluZGV4IDM1YmIyNTk4MDguLjUxYmVjODM1YjkgMTAwNjQ0 Ci0tLSBhL3hlbi9jb21tb24vY29tcGF0L21lbW9yeS5jCisrKyBiL3hlbi9jb21tb24vY29tcGF0 L21lbW9yeS5jCkBAIC01MjUsNiArNTI1LDcgQEAgaW50IGNvbXBhdF9tZW1vcnlfb3AodW5zaWdu ZWQgaW50IGNtZCwgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBjb21wYXQpCiAgICAgICAg IGNhc2UgWEVOTUVNX2FkZF90b19waHlzbWFwOgogICAgICAgICBjYXNlIFhFTk1FTV9yZW1vdmVf ZnJvbV9waHlzbWFwOgogICAgICAgICBjYXNlIFhFTk1FTV9hY2Nlc3Nfb3A6CisgICAgICAgIGNh c2UgWEVOTUVNX3BvcHVsYXRlX3BtZW1fbWFwOgogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAg ICAgY2FzZSBYRU5NRU1fZ2V0X3ZudW1haW5mbzoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vbWVt b3J5LmMgYi94ZW4vY29tbW9uL21lbW9yeS5jCmluZGV4IGE2YmEzM2ZkY2IuLjJmODcwYWQyYjYg MTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vbWVtb3J5LmMKKysrIGIveGVuL2NvbW1vbi9tZW1vcnku YwpAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUgPHhlbi9udW1hLmg+CiAjaW5jbHVkZSA8eGVu L21lbV9hY2Nlc3MuaD4KICNpbmNsdWRlIDx4ZW4vdHJhY2UuaD4KKyNpbmNsdWRlIDx4ZW4vcG1l bS5oPgogI2luY2x1ZGUgPGFzbS9jdXJyZW50Lmg+CiAjaW5jbHVkZSA8YXNtL2hhcmRpcnEuaD4K ICNpbmNsdWRlIDxhc20vcDJtLmg+CkBAIC0xNDA4LDYgKzE0MDksNDkgQEAgbG9uZyBkb19tZW1v cnlfb3AodW5zaWduZWQgbG9uZyBjbWQsIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgYXJn KQogICAgIH0KICNlbmRpZgogCisjaWZkZWYgQ09ORklHX05WRElNTV9QTUVNCisgICAgY2FzZSBY RU5NRU1fcG9wdWxhdGVfcG1lbV9tYXA6CisgICAgeworICAgICAgICBzdHJ1Y3QgeGVuX3BtZW1f bWFwIG1hcDsKKyAgICAgICAgc3RydWN0IHhlbl9wbWVtX21hcF9hcmdzIGFyZ3M7CisKKyAgICAg ICAgaWYgKCBjb3B5X2Zyb21fZ3Vlc3QoJm1hcCwgYXJnLCAxKSApCisgICAgICAgICAgICByZXR1 cm4gLUVGQVVMVDsKKworICAgICAgICBpZiAoIG1hcC5kb21pZCA9PSBET01JRF9TRUxGICkKKyAg ICAgICAgICAgIHJldHVybiAtRUlOVkFMOworCisgICAgICAgIGQgPSByY3VfbG9ja19kb21haW5f YnlfYW55X2lkKG1hcC5kb21pZCk7CisgICAgICAgIGlmICggIWQgKQorICAgICAgICAgICAgcmV0 dXJuIC1FSU5WQUw7CisKKyAgICAgICAgcmMgPSB4c21fcG9wdWxhdGVfcG1lbV9tYXAoWFNNX1RB UkdFVCwgY3Vycl9kLCBkKTsKKyAgICAgICAgaWYgKCByYyApCisgICAgICAgIHsKKyAgICAgICAg ICAgIHJjdV91bmxvY2tfZG9tYWluKGQpOworICAgICAgICAgICAgcmV0dXJuIHJjOworICAgICAg ICB9CisKKyAgICAgICAgYXJncy5kb21haW4gPSBkOworICAgICAgICBhcmdzLm1mbiA9IG1hcC5t Zm47CisgICAgICAgIGFyZ3MuZ2ZuID0gbWFwLmdmbjsKKyAgICAgICAgYXJncy5ucl9tZm5zID0g bWFwLm5yX21mbnM7CisgICAgICAgIGFyZ3MubnJfZG9uZSA9IHN0YXJ0X2V4dGVudDsKKyAgICAg ICAgYXJncy5wcmVlbXB0ZWQgPSAwOworCisgICAgICAgIHJjID0gcG1lbV9wb3B1bGF0ZSgmYXJn cyk7CisKKyAgICAgICAgcmN1X3VubG9ja19kb21haW4oZCk7CisKKyAgICAgICAgaWYgKCByYyA9 PSAtRVJFU1RBUlQgJiYgYXJncy5wcmVlbXB0ZWQgKQorICAgICAgICAgICAgcmV0dXJuIGh5cGVy Y2FsbF9jcmVhdGVfY29udGludWF0aW9uKAorICAgICAgICAgICAgICAgIF9fSFlQRVJWSVNPUl9t ZW1vcnlfb3AsICJsaCIsCisgICAgICAgICAgICAgICAgb3AgfCAoYXJncy5ucl9kb25lIDw8IE1F TU9QX0VYVEVOVF9TSElGVCksIGFyZyk7CisKKyAgICAgICAgYnJlYWs7CisgICAgfQorI2VuZGlm IC8qIENPTkZJR19OVkRJTU1fUE1FTSAqLworCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmMgPSBh cmNoX21lbW9yeV9vcChjbWQsIGFyZyk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEveGVu L2luY2x1ZGUvcHVibGljL21lbW9yeS5oIGIveGVuL2luY2x1ZGUvcHVibGljL21lbW9yeS5oCmlu ZGV4IDI5Mzg2ZGY5OGIuLmQ3NDQzNmU0YjAgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1Ymxp Yy9tZW1vcnkuaAorKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvbWVtb3J5LmgKQEAgLTY1MCw3ICs2 NTAsMTkgQEAgc3RydWN0IHhlbl92bnVtYV90b3BvbG9neV9pbmZvIHsKIHR5cGVkZWYgc3RydWN0 IHhlbl92bnVtYV90b3BvbG9neV9pbmZvIHhlbl92bnVtYV90b3BvbG9neV9pbmZvX3Q7CiBERUZJ TkVfWEVOX0dVRVNUX0hBTkRMRSh4ZW5fdm51bWFfdG9wb2xvZ3lfaW5mb190KTsKIAotLyogTmV4 dCBhdmFpbGFibGUgc3Vib3AgbnVtYmVyIGlzIDI4ICovCisjZGVmaW5lIFhFTk1FTV9wb3B1bGF0 ZV9wbWVtX21hcCAyOAorCitzdHJ1Y3QgeGVuX3BtZW1fbWFwIHsKKyAgICAvKiBJTiAqLworICAg IGRvbWlkX3QgZG9taWQ7CisgICAgdW5zaWduZWQgbG9uZyBtZm47CisgICAgdW5zaWduZWQgbG9u ZyBnZm47CisgICAgdW5zaWduZWQgaW50IG5yX21mbnM7Cit9OwordHlwZWRlZiBzdHJ1Y3QgeGVu X3BtZW1fbWFwIHhlbl9wbWVtX21hcF90OworREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUoeGVuX3Bt ZW1fbWFwX3QpOworCisvKiBOZXh0IGF2YWlsYWJsZSBzdWJvcCBudW1iZXIgaXMgMjkgKi8KIAog I2VuZGlmIC8qIF9fWEVOX1BVQkxJQ19NRU1PUllfSF9fICovCiAKZGlmZiAtLWdpdCBhL3hlbi9p bmNsdWRlL3hzbS9kdW1teS5oIGIveGVuL2luY2x1ZGUveHNtL2R1bW15LmgKaW5kZXggYjJjZDU2 Y2RjNS4uMWViNjU5NWNmYSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveHNtL2R1bW15LmgKKysr IGIveGVuL2luY2x1ZGUveHNtL2R1bW15LmgKQEAgLTcyNCwzICs3MjQsMTQgQEAgc3RhdGljIFhT TV9JTkxJTkUgaW50IHhzbV94ZW5fdmVyc2lvbiAoWFNNX0RFRkFVTFRfQVJHIHVpbnQzMl90IG9w KQogICAgICAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKFhTTV9QUklWLCBjdXJyZW50LT5k b21haW4sIE5VTEwpOwogICAgIH0KIH0KKworI2lmZGVmIENPTkZJR19OVkRJTU1fUE1FTQorCitz dGF0aWMgWFNNX0lOTElORSBpbnQgeHNtX3BvcHVsYXRlX3BtZW1fbWFwKFhTTV9ERUZBVUxUX0FS RworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZG9t YWluICpkMSwgc3RydWN0IGRvbWFpbiAqZDIpCit7CisgICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNN X1RBUkdFVCk7CisgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGQxLCBkMik7 Cit9CisKKyNlbmRpZiAvKiBDT05GSUdfTlZESU1NX1BNRU0gKi8KZGlmZiAtLWdpdCBhL3hlbi9p bmNsdWRlL3hzbS94c20uaCBiL3hlbi9pbmNsdWRlL3hzbS94c20uaAppbmRleCA3ZjdmZWZmYzY4 Li5lNDNlNzlmNzE5IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94c20veHNtLmgKKysrIGIveGVu L2luY2x1ZGUveHNtL3hzbS5oCkBAIC0xODAsNiArMTgwLDEwIEBAIHN0cnVjdCB4c21fb3BlcmF0 aW9ucyB7CiAgICAgaW50ICgqZG1fb3ApIChzdHJ1Y3QgZG9tYWluICpkKTsKICNlbmRpZgogICAg IGludCAoKnhlbl92ZXJzaW9uKSAodWludDMyX3QgY21kKTsKKworI2lmZGVmIENPTkZJR19OVkRJ TU1fUE1FTQorICAgIGludCAoKnBvcHVsYXRlX3BtZW1fbWFwKSAoc3RydWN0IGRvbWFpbiAqZDEs IHN0cnVjdCBkb21haW4gKmQyKTsKKyNlbmRpZgogfTsKIAogI2lmZGVmIENPTkZJR19YU00KQEAg LTY5Miw2ICs2OTYsMTQgQEAgc3RhdGljIGlubGluZSBpbnQgeHNtX3hlbl92ZXJzaW9uICh4c21f ZGVmYXVsdF90IGRlZiwgdWludDMyX3Qgb3ApCiAgICAgcmV0dXJuIHhzbV9vcHMtPnhlbl92ZXJz aW9uKG9wKTsKIH0KIAorI2lmZGVmIENPTkZJR19OVkRJTU1fUE1FTQorc3RhdGljIGlubGluZSBp bnQgeHNtX3BvcHVsYXRlX3BtZW1fbWFwKHhzbV9kZWZhdWx0X3QgZGVmLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkb21haW4gKmQxLCBzdHJ1Y3QgZG9t YWluICpkMikKK3sKKyAgICByZXR1cm4geHNtX29wcy0+cG9wdWxhdGVfcG1lbV9tYXAoZDEsIGQy KTsKK30KKyNlbmRpZiAvKiBDT05GSUdfTlZESU1NX1BNRU0gKi8KKwogI2VuZGlmIC8qIFhTTV9O T19XUkFQUEVSUyAqLwogCiAjaWZkZWYgQ09ORklHX01VTFRJQk9PVApkaWZmIC0tZ2l0IGEveGVu L3hzbS9kdW1teS5jIGIveGVuL3hzbS9kdW1teS5jCmluZGV4IDQ3OWIxMDM2MTQuLjRkNjVlYWNh NjEgMTAwNjQ0Ci0tLSBhL3hlbi94c20vZHVtbXkuYworKysgYi94ZW4veHNtL2R1bW15LmMKQEAg LTE1Nyw0ICsxNTcsOCBAQCB2b2lkIF9faW5pdCB4c21fZml4dXBfb3BzIChzdHJ1Y3QgeHNtX29w ZXJhdGlvbnMgKm9wcykKICAgICBzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGRtX29wKTsKICNl bmRpZgogICAgIHNldF90b19kdW1teV9pZl9udWxsKG9wcywgeGVuX3ZlcnNpb24pOworCisjaWZk ZWYgQ09ORklHX05WRElNTV9QTUVNCisgICAgc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBwb3B1 bGF0ZV9wbWVtX21hcCk7CisjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL3hlbi94c20vZmxhc2svaG9v a3MuYyBiL3hlbi94c20vZmxhc2svaG9va3MuYwppbmRleCBmNjc3NzU1NTEyLi40N2NmYjgxZDY0 IDEwMDY0NAotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIveGVuL3hzbS9mbGFzay9o b29rcy5jCkBAIC0xNzIyLDYgKzE3MjIsMTUgQEAgc3RhdGljIGludCBmbGFza194ZW5fdmVyc2lv biAodWludDMyX3Qgb3ApCiAgICAgfQogfQogCisjaWZkZWYgQ09ORklHX05WRElNTV9QTUVNCisK K3N0YXRpYyBpbnQgZmxhc2tfcG9wdWxhdGVfcG1lbV9tYXAoc3RydWN0IGRvbWFpbiAqZDEsIHN0 cnVjdCBkb21haW4gKmQyKQoreworICAgIHJldHVybiBkb21haW5faGFzX3Blcm0oZDEsIGQyLCBT RUNDTEFTU19NTVUsIE1NVV9fUE9QVUxBVEVfUE1FTV9NQVApOworfQorCisjZW5kaWYgLyogQ09O RklHX05WRElNTV9QTUVNICovCisKIGxvbmcgZG9fZmxhc2tfb3AoWEVOX0dVRVNUX0hBTkRMRV9Q QVJBTSh4c21fb3BfdCkgdV9mbGFza19vcCk7CiBpbnQgY29tcGF0X2ZsYXNrX29wKFhFTl9HVUVT VF9IQU5ETEVfUEFSQU0oeHNtX29wX3QpIHVfZmxhc2tfb3ApOwogCkBAIC0xODU1LDYgKzE4NjQs MTAgQEAgc3RhdGljIHN0cnVjdCB4c21fb3BlcmF0aW9ucyBmbGFza19vcHMgPSB7CiAgICAgLmRt X29wID0gZmxhc2tfZG1fb3AsCiAjZW5kaWYKICAgICAueGVuX3ZlcnNpb24gPSBmbGFza194ZW5f dmVyc2lvbiwKKworI2lmZGVmIENPTkZJR19OVkRJTU1fUE1FTQorICAgIC5wb3B1bGF0ZV9wbWVt X21hcCA9IGZsYXNrX3BvcHVsYXRlX3BtZW1fbWFwLAorI2VuZGlmIC8qIENPTkZJR19OVkRJTU1f UE1FTSAqLwogfTsKIAogdm9pZCBfX2luaXQgZmxhc2tfaW5pdChjb25zdCB2b2lkICpwb2xpY3lf YnVmZmVyLCBzaXplX3QgcG9saWN5X3NpemUpCmRpZmYgLS1naXQgYS94ZW4veHNtL2ZsYXNrL3Bv bGljeS9hY2Nlc3NfdmVjdG9ycyBiL3hlbi94c20vZmxhc2svcG9saWN5L2FjY2Vzc192ZWN0b3Jz CmluZGV4IDNiZmJiODkyYzcuLmRhYTY5MzdjMjIgMTAwNjQ0Ci0tLSBhL3hlbi94c20vZmxhc2sv cG9saWN5L2FjY2Vzc192ZWN0b3JzCisrKyBiL3hlbi94c20vZmxhc2svcG9saWN5L2FjY2Vzc192 ZWN0b3JzCkBAIC0zODksNiArMzg5LDggQEAgY2xhc3MgbW11CiAjIEFsbG93IGEgcHJpdmlsZWdl ZCBkb21haW4gdG8gaW5zdGFsbCBhIG1hcCBvZiBhIHBhZ2UgaXQgZG9lcyBub3Qgb3duLiAgVXNl ZAogIyBmb3Igc3R1YiBkb21haW4gZGV2aWNlIG1vZGVscyB3aXRoIHRoZSBQViBmcmFtZWJ1ZmZl ci4KICAgICB0YXJnZXRfaGFjaworIyBYRU5NRU1fcG9wdWxhdGVfcG1lbV9tYXAKKyAgICBwb3B1 bGF0ZV9wbWVtX21hcAogfQogCiAjIGNvbnRyb2wgb2YgdGhlIHBhZ2luZ19kb21jdGwgc3BsaXQg Ynkgc3Vib3AKLS0gCjIuMTUuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnBy b2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94 ZW4tZGV2ZWw=