From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v2 10/22] mini-os: make p2m related code depend on CONFIG_PARAVIRT Date: Wed, 24 Aug 2016 12:11:32 +0200 Message-ID: <1472033504-23180-11-git-send-email-jgross@suse.com> References: <1472033504-23180-1-git-send-email-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1472033504-23180-1-git-send-email-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org Cc: Juergen Gross , samuel.thibault@ens-lyon.org, wei.liu2@citrix.com List-Id: xen-devel@lists.xenproject.org QWxsIGhhbmRsaW5nIHJlbGF0ZWQgdG8gcDJtIGlzIG5lZWRlZCBmb3IgcGFyYXZpcnR1YWxpemVk IGVudmlyb25tZW50Cm9ubHkuIFNvIHB1dCBhbGwgZnVuY3Rpb25zIG9wZXJhdGluZyBvbiBwMm0g bGlzdCBpbiAjaWZkZWYKQ09ORklHX1BBUkFWSVJUIHNlY3Rpb25zLiBBZGQgYSBwYXJhdmlydC5o IGhlYWRlciBkZWZpbmluZyBkdW1teQpmdW5jdGlvbnMgZm9yIG5vbi1wYXJhdmlydHVhbGl6ZWQg ZW52aXJvbm1lbnRzLiBJbnN0ZWFkIG9mIHVzaW5nCnJlZmVyZW5jZXMgdG8gc3RhcnRfaW5mbyB1 c2UgZGVkaWNhdGVkIHZhcmlhYmxlcyBpbml0aWFsaXplZCBmcm9tCnN0YXJ0X2luZm8gb24gYm9v dC4KClNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KUmV2aWV3 ZWQtYnk6IFNhbXVlbCBUaGliYXVsdCA8c2FtdWVsLnRoaWJhdWx0QGVucy1seW9uLm9yZz4KLS0t CiBhcmNoL2FybS9iYWxsb29uLmMgICAgICAgICAgICAgICAgfCAgNSAtLS0KIGFyY2gvYXJtL21t LmMgICAgICAgICAgICAgICAgICAgICB8ICA0IC0tLQogYXJjaC94ODYvYmFsbG9vbi5jICAgICAg ICAgICAgICAgIHwgMTMgKysrKysrKysKIGFyY2gveDg2L21tLmMgICAgICAgICAgICAgICAgICAg ICB8IDY3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogYXJjaC94ODYv c2V0dXAuYyAgICAgICAgICAgICAgICAgIHwgIDYgKystLQogYXJjaC94ODYvdHJhcHMuYyAgICAg ICAgICAgICAgICAgIHwgIDYgKystLQogYmFsbG9vbi5jICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDEgKwogaW5jbHVkZS9hcm0vYXJjaF9tbS5oICAgICAgICAgICAgIHwgIDMgLS0KIGluY2x1 ZGUvYmFsbG9vbi5oICAgICAgICAgICAgICAgICB8ICAzIC0tCiBpbmNsdWRlL21tLmggICAgICAg ICAgICAgICAgICAgICAgfCAgMiArLQogaW5jbHVkZS9wYXJhdmlydC5oICAgICAgICAgICAgICAg IHwgNDggKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS94ODYvYXJjaF9tbS5o ICAgICAgICAgICAgIHwgNDAgKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIGluY2x1ZGUveGVuL2Fy Y2gteDg2L3hlbi14ODZfMzIuaCB8ICAyICsrCiBpbmNsdWRlL3hlbi9hcmNoLXg4Ni94ZW4teDg2 XzY0LmggfCAgMiArKwogbW0uYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKwog MTUgZmlsZXMgY2hhbmdlZCwgMTMzIGluc2VydGlvbnMoKyksIDcwIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2FyY2gvYXJtL2JhbGxvb24uYyBiL2FyY2gvYXJtL2JhbGxvb24uYwppbmRleCA3 ZjM1MzI4Li45NThlY2JhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9iYWxsb29uLmMKKysrIGIvYXJj aC9hcm0vYmFsbG9vbi5jCkBAIC0yNywxMSArMjcsNiBAQAogCiB1bnNpZ25lZCBsb25nIHZpcnRf a2VybmVsX2FyZWFfZW5kOyAgIC8qIFRPRE86IGZpbmQgYSB2aXJ0dWFsIGFyZWEgKi8KIAotaW50 IGFyY2hfZXhwYW5kX3AybSh1bnNpZ25lZCBsb25nIG1heF9wZm4pCi17Ci0gICAgcmV0dXJuIDA7 Ci19Ci0KIHZvaWQgYXJjaF9wZm5fYWRkKHVuc2lnbmVkIGxvbmcgcGZuLCB1bnNpZ25lZCBsb25n IG1mbikKIHsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21tLmMgYi9hcmNoL2FybS9tbS5jCmlu ZGV4IGZjOGQ0YmMuLjRmNThmYzcgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21tLmMKKysrIGIvYXJj aC9hcm0vbW0uYwpAQCAtNzIsMTAgKzcyLDYgQEAgdm9pZCBhcmNoX2luaXRfbW0odW5zaWduZWQg bG9uZyAqc3RhcnRfcGZuX3AsIHVuc2lnbmVkIGxvbmcgKm1heF9wZm5fcCkKICAgICAqbWF4X3Bm bl9wID0gdG9fcGh5cyhuZXdfZGV2aWNlX3RyZWUpID4+IFBBR0VfU0hJRlQ7CiB9CiAKLXZvaWQg YXJjaF9pbml0X3AybSh1bnNpZ25lZCBsb25nIG1heF9wZm4pCi17Ci19Ci0KIHZvaWQgYXJjaF9p bml0X2RlbWFuZF9tYXBwaW5nX2FyZWEodm9pZCkKIHsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2 L2JhbGxvb24uYyBiL2FyY2gveDg2L2JhbGxvb24uYwppbmRleCA0MjM4OWU0Li4xNmFhYWU0IDEw MDY0NAotLS0gYS9hcmNoL3g4Ni9iYWxsb29uLmMKKysrIGIvYXJjaC94ODYvYmFsbG9vbi5jCkBA IC0yNiwxMSArMjYsMTMgQEAKICNpbmNsdWRlIDxtaW5pLW9zL2Vycm5vLmg+CiAjaW5jbHVkZSA8 bWluaS1vcy9saWIuaD4KICNpbmNsdWRlIDxtaW5pLW9zL21tLmg+CisjaW5jbHVkZSA8bWluaS1v cy9wYXJhdmlydC5oPgogCiAjaWZkZWYgQ09ORklHX0JBTExPT04KIAogdW5zaWduZWQgbG9uZyB2 aXJ0X2tlcm5lbF9hcmVhX2VuZCA9IFZJUlRfS0VSTkVMX0FSRUE7CiAKKyNpZmRlZiBDT05GSUdf UEFSQVZJUlQKIHN0YXRpYyB2b2lkIHAybV9pbnZhbGlkYXRlKHVuc2lnbmVkIGxvbmcgKmxpc3Qs IHVuc2lnbmVkIGxvbmcgc3RhcnRfaWR4KQogewogICAgIHVuc2lnbmVkIGxvbmcgaWR4OwpAQCAt MTQzLDUgKzE0NSwxNiBAQCB2b2lkIGFyY2hfcGZuX2FkZCh1bnNpZ25lZCBsb25nIHBmbiwgdW5z aWduZWQgbG9uZyBtZm4pCiAgICAgICAgIGRvX2V4aXQoKTsKICAgICB9CiB9CisjZWxzZQordm9p ZCBhcmNoX3Bmbl9hZGQodW5zaWduZWQgbG9uZyBwZm4sIHVuc2lnbmVkIGxvbmcgbWZuKQorewor ICAgIHBnZW50cnlfdCAqcGd0OworCisgICAgcGd0ID0gbmVlZF9wZ3QoKHVuc2lnbmVkIGxvbmcp cGZuX3RvX3ZpcnQocGZuKSk7CisgICAgQVNTRVJUKHBndCk7CisgICAgaWYgKCAhKCpwZ3QgJiBf UEFHRV9QU0UpICkKKyAgICAgICAgKnBndCA9IChwZ2VudHJ5X3QpKG1mbiA8PCBQQUdFX1NISUZU KSB8IF9QQUdFX1BSRVNFTlQgfCBfUEFHRV9SVzsKK30KKyNlbmRpZgogCiAjZW5kaWYKZGlmZiAt LWdpdCBhL2FyY2gveDg2L21tLmMgYi9hcmNoL3g4Ni9tbS5jCmluZGV4IGZlMThmNTMuLjA1NDMw MTcgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tLmMKKysrIGIvYXJjaC94ODYvbW0uYwpAQCAtMzks NiArMzksNyBAQAogI2luY2x1ZGUgPG1pbmktb3MvaHlwZXJ2aXNvci5oPgogI2luY2x1ZGUgPG1p bmktb3MvYmFsbG9vbi5oPgogI2luY2x1ZGUgPG1pbmktb3MvbW0uaD4KKyNpbmNsdWRlIDxtaW5p LW9zL3BhcmF2aXJ0Lmg+CiAjaW5jbHVkZSA8bWluaS1vcy90eXBlcy5oPgogI2luY2x1ZGUgPG1p bmktb3MvbGliLmg+CiAjaW5jbHVkZSA8bWluaS1vcy94bWFsbG9jLmg+CkBAIC01MywxMCArNTQs MjQgQEAKIAogdW5zaWduZWQgbG9uZyAqcGh5c190b19tYWNoaW5lX21hcHBpbmc7CiB1bnNpZ25l ZCBsb25nIG1mbl96ZXJvOworcGdlbnRyeV90ICpwdF9iYXNlOworc3RhdGljIHVuc2lnbmVkIGxv bmcgZmlyc3RfZnJlZV9wZm47CitzdGF0aWMgdW5zaWduZWQgbG9uZyBsYXN0X2ZyZWVfcGZuOwor CiBleHRlcm4gY2hhciBzdGFja1tdOwogZXh0ZXJuIHZvaWQgcGFnZV93YWxrKHVuc2lnbmVkIGxv bmcgdmEpOwogCi0jaWZuZGVmIENPTkZJR19QQVJBVklSVAorI2lmZGVmIENPTkZJR19QQVJBVklS VAordm9pZCBhcmNoX21tX3ByZWluaXQodm9pZCAqcCkKK3sKKyAgICBzdGFydF9pbmZvX3QgKnNp ID0gcDsKKworICAgIHBoeXNfdG9fbWFjaGluZV9tYXBwaW5nID0gKHVuc2lnbmVkIGxvbmcgKilz aS0+bWZuX2xpc3Q7CisgICAgcHRfYmFzZSA9IChwZ2VudHJ5X3QgKilzaS0+cHRfYmFzZTsKKyAg ICBmaXJzdF9mcmVlX3BmbiA9IFBGTl9VUCh0b19waHlzKHB0X2Jhc2UpKSArIHNpLT5ucl9wdF9m cmFtZXM7CisgICAgbGFzdF9mcmVlX3BmbiA9IHNpLT5ucl9wYWdlczsKK30KKyNlbHNlCiAjaW5j bHVkZSA8bWluaS1vcy9kZXNjLmg+CiB1c2VyX2Rlc2MgZ2R0W05SX0dEVF9FTlRSSUVTXSA9CiB7 CkBAIC04NSw2ICsxMDAsMjIgQEAgZGVzY19wdHIgaWR0X3B0ciA9CiAgICAgLmxpbWl0ID0gc2l6 ZW9mKGlkdCkgLSAxLAogICAgIC5iYXNlID0gKHVuc2lnbmVkIGxvbmcpJmlkdCwKIH07CisKK3Zv aWQgYXJjaF9tbV9wcmVpbml0KHZvaWQgKnApCit7CisgICAgbG9uZyByZXQ7CisgICAgZG9taWRf dCBkb21pZCA9IERPTUlEX1NFTEY7CisKKyAgICBwdF9iYXNlID0gcGFnZV90YWJsZV9iYXNlOwor ICAgIGZpcnN0X2ZyZWVfcGZuID0gUEZOX1VQKHRvX3BoeXMoJl9lbmQpKTsKKyAgICByZXQgPSBI WVBFUlZJU09SX21lbW9yeV9vcChYRU5NRU1fY3VycmVudF9yZXNlcnZhdGlvbiwgJmRvbWlkKTsK KyAgICBpZiAoIHJldCA8IDAgKQorICAgIHsKKyAgICAgICAgeHByaW50aygiY291bGQgbm90IGdl dCBtZW1vcnkgc2l6ZVxuIik7CisgICAgICAgIGRvX2V4aXQoKTsKKyAgICB9CisgICAgbGFzdF9m cmVlX3BmbiA9IHJldDsKK30KICNlbmRpZgogCiAvKgpAQCAtOTUsNyArMTI2LDcgQEAgZGVzY19w dHIgaWR0X3B0ciA9CiBzdGF0aWMgdm9pZCBuZXdfcHRfZnJhbWUodW5zaWduZWQgbG9uZyAqcHRf cGZuLCB1bnNpZ25lZCBsb25nIHByZXZfbF9tZm4sIAogICAgICAgICAgICAgICAgICAgICAgICAg IHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIGxldmVsKQogeyAgIAotICAgIHBn ZW50cnlfdCAqdGFiID0gKHBnZW50cnlfdCAqKXN0YXJ0X2luZm8ucHRfYmFzZTsKKyAgICBwZ2Vu dHJ5X3QgKnRhYiA9IHB0X2Jhc2U7CiAgICAgdW5zaWduZWQgbG9uZyBwdF9wYWdlID0gKHVuc2ln bmVkIGxvbmcpcGZuX3RvX3ZpcnQoKnB0X3Bmbik7IAogICAgIHBnZW50cnlfdCBwcm90X2UsIHBy b3RfdDsKICAgICBtbXVfdXBkYXRlX3QgbW11X3VwZGF0ZXNbMV07CkBAIC0xNzIsOCArMjAzLDgg QEAgc3RhdGljIHZvaWQgYnVpbGRfcGFnZXRhYmxlKHVuc2lnbmVkIGxvbmcgKnN0YXJ0X3Bmbiwg dW5zaWduZWQgbG9uZyAqbWF4X3BmbikKICAgICB1bnNpZ25lZCBsb25nIHN0YXJ0X2FkZHJlc3Ms IGVuZF9hZGRyZXNzOwogICAgIHVuc2lnbmVkIGxvbmcgcGZuX3RvX21hcCwgcHRfcGZuID0gKnN0 YXJ0X3BmbjsKICAgICBzdGF0aWMgbW11X3VwZGF0ZV90IG1tdV91cGRhdGVzW0wxX1BBR0VUQUJM RV9FTlRSSUVTICsgMV07Ci0gICAgcGdlbnRyeV90ICp0YWIgPSAocGdlbnRyeV90ICopc3RhcnRf aW5mby5wdF9iYXNlLCBwYWdlOwotICAgIHVuc2lnbmVkIGxvbmcgcHRfbWZuID0gcGZuX3RvX21m bih2aXJ0X3RvX3BmbihzdGFydF9pbmZvLnB0X2Jhc2UpKTsKKyAgICBwZ2VudHJ5X3QgKnRhYiA9 IHB0X2Jhc2UsIHBhZ2U7CisgICAgdW5zaWduZWQgbG9uZyBwdF9tZm4gPSBwZm5fdG9fbWZuKHZp cnRfdG9fcGZuKHB0X2Jhc2UpKTsKICAgICB1bnNpZ25lZCBsb25nIG9mZnNldDsKICAgICBpbnQg Y291bnQgPSAwOwogICAgIGludCByYzsKQEAgLTE4Miw2ICsyMTMsNyBAQCBzdGF0aWMgdm9pZCBi dWlsZF9wYWdldGFibGUodW5zaWduZWQgbG9uZyAqc3RhcnRfcGZuLCB1bnNpZ25lZCBsb25nICpt YXhfcGZuKQogICAgICAgIG1hcHBlZCwgc3RhcnQgdGhlIGxvb3AgYXQgdGhlIHZlcnkgYmVnaW5u aW5nLiAqLwogICAgIHBmbl90b19tYXAgPSAqc3RhcnRfcGZuOwogCisjaWZkZWYgQ09ORklHX1BB UkFWSVJUCiAgICAgaWYgKCAqbWF4X3BmbiA+PSB2aXJ0X3RvX3BmbihIWVBFUlZJU09SX1ZJUlRf U1RBUlQpICkKICAgICB7CiAgICAgICAgIHByaW50aygiV0FSTklORzogTWluaS1PUyB0cnlpbmcg dG8gdXNlIFhlbiB2aXJ0dWFsIHNwYWNlLiAiCkBAIC0xOTMsNiArMjI1LDcgQEAgc3RhdGljIHZv aWQgYnVpbGRfcGFnZXRhYmxlKHVuc2lnbmVkIGxvbmcgKnN0YXJ0X3BmbiwgdW5zaWduZWQgbG9u ZyAqbWF4X3BmbikKICAgICAgICAgICAgICAgICgodW5zaWduZWQgbG9uZylwZm5fdG9fdmlydCgq bWF4X3BmbikgLSAKICAgICAgICAgICAgICAgICAodW5zaWduZWQgbG9uZykmX3RleHQpPj4yMCk7 CiAgICAgfQorI2VuZGlmCiAKICAgICBzdGFydF9hZGRyZXNzID0gKHVuc2lnbmVkIGxvbmcpcGZu X3RvX3ZpcnQocGZuX3RvX21hcCk7CiAgICAgZW5kX2FkZHJlc3MgPSAodW5zaWduZWQgbG9uZylw Zm5fdG9fdmlydCgqbWF4X3Bmbik7CkBAIC0yMDIsOCArMjM1LDggQEAgc3RhdGljIHZvaWQgYnVp bGRfcGFnZXRhYmxlKHVuc2lnbmVkIGxvbmcgKnN0YXJ0X3BmbiwgdW5zaWduZWQgbG9uZyAqbWF4 X3BmbikKIAogICAgIHdoaWxlICggc3RhcnRfYWRkcmVzcyA8IGVuZF9hZGRyZXNzICkKICAgICB7 Ci0gICAgICAgIHRhYiA9IChwZ2VudHJ5X3QgKilzdGFydF9pbmZvLnB0X2Jhc2U7Ci0gICAgICAg IHB0X21mbiA9IHBmbl90b19tZm4odmlydF90b19wZm4oc3RhcnRfaW5mby5wdF9iYXNlKSk7Cisg ICAgICAgIHRhYiA9IHB0X2Jhc2U7CisgICAgICAgIHB0X21mbiA9IHBmbl90b19tZm4odmlydF90 b19wZm4ocHRfYmFzZSkpOwogCiAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKQogICAgICAgICBvZmZz ZXQgPSBsNF90YWJsZV9vZmZzZXQoc3RhcnRfYWRkcmVzcyk7CkBAIC0yNzAsOCArMzAzLDggQEAg c3RhdGljIHZvaWQgc2V0X3JlYWRvbmx5KHZvaWQgKnRleHQsIHZvaWQgKmV0ZXh0KQogICAgICAg ICAoKHVuc2lnbmVkIGxvbmcpIHRleHQgKyBQQUdFX1NJWkUgLSAxKSAmIFBBR0VfTUFTSzsKICAg ICB1bnNpZ25lZCBsb25nIGVuZF9hZGRyZXNzID0gKHVuc2lnbmVkIGxvbmcpIGV0ZXh0OwogICAg IHN0YXRpYyBtbXVfdXBkYXRlX3QgbW11X3VwZGF0ZXNbTDFfUEFHRVRBQkxFX0VOVFJJRVMgKyAx XTsKLSAgICBwZ2VudHJ5X3QgKnRhYiA9IChwZ2VudHJ5X3QgKilzdGFydF9pbmZvLnB0X2Jhc2Us IHBhZ2U7Ci0gICAgdW5zaWduZWQgbG9uZyBtZm4gPSBwZm5fdG9fbWZuKHZpcnRfdG9fcGZuKHN0 YXJ0X2luZm8ucHRfYmFzZSkpOworICAgIHBnZW50cnlfdCAqdGFiID0gcHRfYmFzZSwgcGFnZTsK KyAgICB1bnNpZ25lZCBsb25nIG1mbiA9IHBmbl90b19tZm4odmlydF90b19wZm4ocHRfYmFzZSkp OwogICAgIHVuc2lnbmVkIGxvbmcgb2Zmc2V0OwogICAgIGludCBjb3VudCA9IDA7CiAgICAgaW50 IHJjOwpAQCAtMjgwLDggKzMxMyw4IEBAIHN0YXRpYyB2b2lkIHNldF9yZWFkb25seSh2b2lkICp0 ZXh0LCB2b2lkICpldGV4dCkKIAogICAgIHdoaWxlICggc3RhcnRfYWRkcmVzcyArIFBBR0VfU0la RSA8PSBlbmRfYWRkcmVzcyApCiAgICAgewotICAgICAgICB0YWIgPSAocGdlbnRyeV90ICopc3Rh cnRfaW5mby5wdF9iYXNlOwotICAgICAgICBtZm4gPSBwZm5fdG9fbWZuKHZpcnRfdG9fcGZuKHN0 YXJ0X2luZm8ucHRfYmFzZSkpOworICAgICAgICB0YWIgPSBwdF9iYXNlOworICAgICAgICBtZm4g PSBwZm5fdG9fbWZuKHZpcnRfdG9fcGZuKHB0X2Jhc2UpKTsKIAogI2lmIGRlZmluZWQoX194ODZf NjRfXykKICAgICAgICAgb2Zmc2V0ID0gbDRfdGFibGVfb2Zmc2V0KHN0YXJ0X2FkZHJlc3MpOwpA QCAtMzQzLDggKzM3Niw4IEBAIHN0YXRpYyBwZ2VudHJ5X3QgKmdldF9wZ3QodW5zaWduZWQgbG9u ZyB2YSkKICAgICBwZ2VudHJ5X3QgKnRhYjsKICAgICB1bnNpZ25lZCBvZmZzZXQ7CiAKLSAgICB0 YWIgPSAocGdlbnRyeV90ICopc3RhcnRfaW5mby5wdF9iYXNlOwotICAgIG1mbiA9IHZpcnRfdG9f bWZuKHN0YXJ0X2luZm8ucHRfYmFzZSk7CisgICAgdGFiID0gcHRfYmFzZTsKKyAgICBtZm4gPSB2 aXJ0X3RvX21mbihwdF9iYXNlKTsKIAogI2lmIGRlZmluZWQoX194ODZfNjRfXykKICAgICBvZmZz ZXQgPSBsNF90YWJsZV9vZmZzZXQodmEpOwpAQCAtMzc5LDggKzQxMiw4IEBAIHBnZW50cnlfdCAq bmVlZF9wZ3QodW5zaWduZWQgbG9uZyB2YSkKICAgICB1bnNpZ25lZCBsb25nIHB0X3BmbjsKICAg ICB1bnNpZ25lZCBvZmZzZXQ7CiAKLSAgICB0YWIgPSAocGdlbnRyeV90ICopc3RhcnRfaW5mby5w dF9iYXNlOwotICAgIHB0X21mbiA9IHZpcnRfdG9fbWZuKHN0YXJ0X2luZm8ucHRfYmFzZSk7Cisg ICAgdGFiID0gcHRfYmFzZTsKKyAgICBwdF9tZm4gPSB2aXJ0X3RvX21mbihwdF9iYXNlKTsKIAog I2lmIGRlZmluZWQoX194ODZfNjRfXykKICAgICBvZmZzZXQgPSBsNF90YWJsZV9vZmZzZXQodmEp OwpAQCAtNjM5LDYgKzY3Miw3IEBAIHN0YXRpYyB2b2lkIGNsZWFyX2Jvb3RzdHJhcCh2b2lkKQog ICAgICAgICBwcmludGsoIlVuYWJsZSB0byB1bm1hcCBOVUxMIHBhZ2UuIHJjPSVkXG4iLCByYyk7 CiB9CiAKKyNpZmRlZiBDT05GSUdfUEFSQVZJUlQKIHZvaWQgcDJtX2Noa19wZm4odW5zaWduZWQg bG9uZyBwZm4pCiB7CiAgICAgaWYgKCAocGZuID4+IEwzX1AyTV9TSElGVCkgPiAwICkKQEAgLTY3 MCw2ICs3MDQsNyBAQCB2b2lkIGFyY2hfaW5pdF9wMm0odW5zaWduZWQgbG9uZyBtYXhfcGZuKQog CiAgICAgYXJjaF9yZW1hcF9wMm0obWF4X3Bmbik7CiB9CisjZW5kaWYKIAogdm9pZCBhcmNoX2lu aXRfbW0odW5zaWduZWQgbG9uZyogc3RhcnRfcGZuX3AsIHVuc2lnbmVkIGxvbmcqIG1heF9wZm5f cCkKIHsKQEAgLTY4Myw4ICs3MTgsOCBAQCB2b2lkIGFyY2hfaW5pdF9tbSh1bnNpZ25lZCBsb25n KiBzdGFydF9wZm5fcCwgdW5zaWduZWQgbG9uZyogbWF4X3Bmbl9wKQogICAgIHByaW50aygiICAg ICAgIF9lbmQ6ICVwKFZBKVxuIiwgJl9lbmQpOwogCiAgICAgLyogRmlyc3QgcGFnZSBmb2xsb3dz IHBhZ2UgdGFibGUgcGFnZXMuICovCi0gICAgc3RhcnRfcGZuID0gUEZOX1VQKHRvX3BoeXMoc3Rh cnRfaW5mby5wdF9iYXNlKSkgKyBzdGFydF9pbmZvLm5yX3B0X2ZyYW1lczsKLSAgICBtYXhfcGZu ID0gc3RhcnRfaW5mby5ucl9wYWdlczsKKyAgICBzdGFydF9wZm4gPSBmaXJzdF9mcmVlX3BmbjsK KyAgICBtYXhfcGZuID0gbGFzdF9mcmVlX3BmbjsKIAogICAgIGlmICggbWF4X3BmbiA+PSBNQVhf TUVNX1NJWkUgLyBQQUdFX1NJWkUgKQogICAgICAgICBtYXhfcGZuID0gTUFYX01FTV9TSVpFIC8g UEFHRV9TSVpFIC0gMTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3NldHVwLmMgYi9hcmNoL3g4Ni9z ZXR1cC5jCmluZGV4IGVmZWNlZmIuLjhiNmJiNmUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3NldHVw LmMKKysrIGIvYXJjaC94ODYvc2V0dXAuYwpAQCAtMTMxLDYgKzEzMSw5IEBAIGFyY2hfaW5pdCh2 b2lkICpwYXIpCiAJLyogSW5pdGlhbGl6ZSBTU0UgKi8KIAlzc2VfaW5pdCgpOwogCisJLyogU2V0 dXAgbWVtb3J5IG1hbmFnZW1lbnQgaW5mbyBmcm9tIHN0YXJ0X2luZm8uICovCisJYXJjaF9tbV9w cmVpbml0KHBhcik7CisKIAkvKiBDb3B5IHRoZSBzdGFydF9pbmZvIHN0cnVjdCB0byBhIGdsb2Jh bGx5LWFjY2Vzc2libGUgYXJlYS4gKi8KIAkvKiBXQVJOOiBkb24ndCBkbyBwcmludGsgYmVmb3Jl IGhlcmUsIGl0IHVzZXMgaW5mb3JtYXRpb24gZnJvbQogCSAgIHNoYXJlZF9pbmZvLiBVc2UgeHBy aW50ayBpbnN0ZWFkLiAqLwpAQCAtMTUyLDkgKzE1NSw2IEBAIGFyY2hfaW5pdCh2b2lkICpwYXIp CiAJCQlzaS0+Y21kX2xpbmUgPyAoY29uc3QgY2hhciAqKXNpLT5jbWRfbGluZSA6ICJOVUxMIik7 CiAJcHJpbnRrKCIgICAgICAgc3RhY2s6ICVwLSVwXG4iLCBzdGFjaywgc3RhY2sgKyBzaXplb2Yo c3RhY2spKTsKIAotCS8qIHNldCB1cCBtaW5pbWFsIG1lbW9yeSBpbmZvcyAqLwotCXBoeXNfdG9f bWFjaGluZV9tYXBwaW5nID0gKHVuc2lnbmVkIGxvbmcgKilzdGFydF9pbmZvLm1mbl9saXN0Owot CiAJLyogR3JhYiB0aGUgc2hhcmVkX2luZm8gcG9pbnRlciBhbmQgcHV0IGl0IGluIGEgc2FmZSBw bGFjZS4gKi8KIAlIWVBFUlZJU09SX3NoYXJlZF9pbmZvID0gbWFwX3NoYXJlZF9pbmZvKHN0YXJ0 X2luZm8uc2hhcmVkX2luZm8pOwogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni90cmFwcy5jIGIvYXJj aC94ODYvdHJhcHMuYwppbmRleCAwYjNkODViLi4yZDMyMjJkIDEwMDY0NAotLS0gYS9hcmNoL3g4 Ni90cmFwcy5jCisrKyBiL2FyY2gveDg2L3RyYXBzLmMKQEAgLTk3LDkgKzk3LDkgQEAgRE9fRVJS T1IoMTgsICJtYWNoaW5lIGNoZWNrIiwgbWFjaGluZV9jaGVjaykKIAogdm9pZCBwYWdlX3dhbGso dW5zaWduZWQgbG9uZyB2aXJ0X2FkZHJlc3MpCiB7Ci0gICAgICAgIHBnZW50cnlfdCAqdGFiID0g KHBnZW50cnlfdCAqKXN0YXJ0X2luZm8ucHRfYmFzZSwgcGFnZTsKKyAgICAgICAgcGdlbnRyeV90 ICp0YWIgPSBwdF9iYXNlLCBwYWdlOwogICAgICAgICB1bnNpZ25lZCBsb25nIGFkZHIgPSB2aXJ0 X2FkZHJlc3M7Ci0gICAgICAgIHByaW50aygiUGFnZXRhYmxlIHdhbGsgZnJvbSB2aXJ0ICVseCwg YmFzZSAlbHg6XG4iLCB2aXJ0X2FkZHJlc3MsIHN0YXJ0X2luZm8ucHRfYmFzZSk7CisgICAgICAg IHByaW50aygiUGFnZXRhYmxlIHdhbGsgZnJvbSB2aXJ0ICVseCwgYmFzZSAlcDpcbiIsIHZpcnRf YWRkcmVzcywgcHRfYmFzZSk7CiAgICAgCiAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKQogICAgICAg ICBwYWdlID0gdGFiW2w0X3RhYmxlX29mZnNldChhZGRyKV07CkBAIC0xMTksNyArMTE5LDcgQEAg dm9pZCBwYWdlX3dhbGsodW5zaWduZWQgbG9uZyB2aXJ0X2FkZHJlc3MpCiB9CiAKIHN0YXRpYyBp bnQgaGFuZGxlX2Nvdyh1bnNpZ25lZCBsb25nIGFkZHIpIHsKLSAgICAgICAgcGdlbnRyeV90ICp0 YWIgPSAocGdlbnRyeV90ICopc3RhcnRfaW5mby5wdF9iYXNlLCBwYWdlOworICAgICAgICBwZ2Vu dHJ5X3QgKnRhYiA9IHB0X2Jhc2UsIHBhZ2U7CiAJdW5zaWduZWQgbG9uZyBuZXdfcGFnZTsKIAlp bnQgcmM7CiAKZGlmZiAtLWdpdCBhL2JhbGxvb24uYyBiL2JhbGxvb24uYwppbmRleCA2MDg0OTJh Li44ZDJmMTUxIDEwMDY0NAotLS0gYS9iYWxsb29uLmMKKysrIGIvYmFsbG9vbi5jCkBAIC0yNSw2 ICsyNSw3IEBACiAjaW5jbHVkZSA8bWluaS1vcy9iYWxsb29uLmg+CiAjaW5jbHVkZSA8bWluaS1v cy9lcnJuby5oPgogI2luY2x1ZGUgPG1pbmktb3MvbGliLmg+CisjaW5jbHVkZSA8bWluaS1vcy9w YXJhdmlydC5oPgogI2luY2x1ZGUgPHhlbi94ZW4uaD4KICNpbmNsdWRlIDx4ZW4vbWVtb3J5Lmg+ CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXJtL2FyY2hfbW0uaCBiL2luY2x1ZGUvYXJtL2FyY2hf bW0uaAppbmRleCBmNDY4NWQ4Li43OWQ5ZTA1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FybS9hcmNo X21tLmgKKysrIGIvaW5jbHVkZS9hcm0vYXJjaF9tbS5oCkBAIC0yOSw5ICsyOSw2IEBAIGV4dGVy biB1aW50MzJfdCBwaHlzaWNhbF9hZGRyZXNzX29mZnNldDsJLyogQWRkIHRoaXMgdG8gYSB2aXJ0 dWFsIGFkZHJlc3MgdG8gZ2V0CiAjZGVmaW5lIG1mbl90b192aXJ0KF9tZm4pICAgICAgICAgICh0 b192aXJ0KFBGTl9QSFlTKF9tZm4pKSkKICNkZWZpbmUgcGZuX3RvX3ZpcnQoX3BmbikgICAgICAg ICAgKHRvX3ZpcnQoUEZOX1BIWVMoX3BmbikpKQogCi0jZGVmaW5lIG1mbl90b19wZm4oeCkgKHgp Ci0jZGVmaW5lIHBmbl90b19tZm4oeCkgKHgpCi0KICNkZWZpbmUgdmlydHVhbF90b19tZm4oX3Zp cnQpCSAgIHZpcnRfdG9fbWZuKF92aXJ0KQogCiAvLyBGSVhNRQpkaWZmIC0tZ2l0IGEvaW5jbHVk ZS9iYWxsb29uLmggYi9pbmNsdWRlL2JhbGxvb24uaAppbmRleCBkODcxMGFkLi44Y2Q0MWFmIDEw MDY0NAotLS0gYS9pbmNsdWRlL2JhbGxvb24uaAorKysgYi9pbmNsdWRlL2JhbGxvb24uaApAQCAt MzksMTYgKzM5LDEzIEBAIGV4dGVybiB1bnNpZ25lZCBsb25nIG5yX21lbV9wYWdlczsKIHZvaWQg Z2V0X21heF9wYWdlcyh2b2lkKTsKIGludCBiYWxsb29uX3VwKHVuc2lnbmVkIGxvbmcgbl9wYWdl cyk7CiAKLXZvaWQgYXJjaF9yZW1hcF9wMm0odW5zaWduZWQgbG9uZyBtYXhfcGZuKTsKIHZvaWQg bW1fYWxsb2NfYml0bWFwX3JlbWFwKHZvaWQpOwotaW50IGFyY2hfZXhwYW5kX3AybSh1bnNpZ25l ZCBsb25nIG1heF9wZm4pOwogdm9pZCBhcmNoX3Bmbl9hZGQodW5zaWduZWQgbG9uZyBwZm4sIHVu c2lnbmVkIGxvbmcgbWZuKTsKIGludCBjaGtfZnJlZV9wYWdlcyh1bnNpZ25lZCBsb25nIG5lZWRl ZCk7CiAKICNlbHNlIC8qIENPTkZJR19CQUxMT09OICovCiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBn ZXRfbWF4X3BhZ2VzKHZvaWQpIHsgfQotc3RhdGljIGlubGluZSB2b2lkIGFyY2hfcmVtYXBfcDJt KHVuc2lnbmVkIGxvbmcgbWF4X3BmbikgeyB9CiBzdGF0aWMgaW5saW5lIHZvaWQgbW1fYWxsb2Nf Yml0bWFwX3JlbWFwKHZvaWQpIHsgfQogc3RhdGljIGlubGluZSBpbnQgY2hrX2ZyZWVfcGFnZXMo dW5zaWduZWQgbG9uZyBuZWVkZWQpCiB7CmRpZmYgLS1naXQgYS9pbmNsdWRlL21tLmggYi9pbmNs dWRlL21tLmgKaW5kZXggZmMzMTI4Yi4uOTUzNTcwYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9tbS5o CisrKyBiL2luY2x1ZGUvbW0uaApAQCAtMzYsNiArMzYsNyBAQAogI2VuZGlmCiAjaW5jbHVkZSA8 eGVuL3hlbi5oPgogCisjaW5jbHVkZSA8bWluaS1vcy9wYXJhdmlydC5oPgogI2luY2x1ZGUgPG1p bmktb3MvYXJjaF9saW1pdHMuaD4KICNpbmNsdWRlIDxtaW5pLW9zL2FyY2hfbW0uaD4KIApAQCAt NjcsNyArNjgsNiBAQCBzdGF0aWMgX19pbmxpbmVfXyBpbnQgZ2V0X29yZGVyKHVuc2lnbmVkIGxv bmcgc2l6ZSkKIAogdm9pZCBhcmNoX2luaXRfZGVtYW5kX21hcHBpbmdfYXJlYSh2b2lkKTsKIHZv aWQgYXJjaF9pbml0X21tKHVuc2lnbmVkIGxvbmcqIHN0YXJ0X3Bmbl9wLCB1bnNpZ25lZCBsb25n KiBtYXhfcGZuX3ApOwotdm9pZCBhcmNoX2luaXRfcDJtKHVuc2lnbmVkIGxvbmcgbWF4X3Bmbl9w KTsKIAogdW5zaWduZWQgbG9uZyBhbGxvY2F0ZV9vbmRlbWFuZCh1bnNpZ25lZCBsb25nIG4sIHVu c2lnbmVkIGxvbmcgYWxpZ25tZW50KTsKIC8qIG1hcCBmW2kqc3RyaWRlXStpKmluY3JlbWVudCBm b3IgaSBpbiAwLi5uLTEsIGFsaWduZWQgb24gYWxpZ25tZW50IHBhZ2VzICovCmRpZmYgLS1naXQg YS9pbmNsdWRlL3BhcmF2aXJ0LmggYi9pbmNsdWRlL3BhcmF2aXJ0LmgKaW5kZXggNzg1MmUxNi4u MTUwNzZiZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9wYXJhdmlydC5oCisrKyBiL2luY2x1ZGUvcGFy YXZpcnQuaApAQCAtMjYsNyArMjYsNTUgQEAKIAogI2lmIGRlZmluZWQoQ09ORklHX1BBUkFWSVJU KQogCisjZGVmaW5lIG1mbl90b19wZm4oX21mbikgKG1hY2hpbmVfdG9fcGh5c19tYXBwaW5nWyhf bWZuKV0pCisjZGVmaW5lIHBmbl90b19tZm4oX3BmbikgKHBoeXNfdG9fbWFjaGluZV9tYXBwaW5n WyhfcGZuKV0pCisKKy8qIGZvciBQMk0gKi8KKyNpZmRlZiBfX3g4Nl82NF9fCisjZGVmaW5lIFAy TV9TSElGVCAgICAgICA5CiAjZWxzZQorI2RlZmluZSBQMk1fU0hJRlQgICAgICAgMTAKKyNlbmRp ZgorI2RlZmluZSBQMk1fRU5UUklFUyAgICAgKDFVTCA8PCBQMk1fU0hJRlQpCisjZGVmaW5lIFAy TV9NQVNLICAgICAgICAoUDJNX0VOVFJJRVMgLSAxKQorI2RlZmluZSBMMV9QMk1fU0hJRlQgICAg UDJNX1NISUZUCisjZGVmaW5lIEwyX1AyTV9TSElGVCAgICAoMiAqIFAyTV9TSElGVCkKKyNkZWZp bmUgTDNfUDJNX1NISUZUICAgICgzICogUDJNX1NISUZUKQorI2RlZmluZSBMMV9QMk1fSURYKHBm bikgKChwZm4pICYgUDJNX01BU0spCisjZGVmaW5lIEwyX1AyTV9JRFgocGZuKSAoKChwZm4pID4+ IEwxX1AyTV9TSElGVCkgJiBQMk1fTUFTSykKKyNkZWZpbmUgTDNfUDJNX0lEWChwZm4pICgoKHBm bikgPj4gTDJfUDJNX1NISUZUKSAmIFAyTV9NQVNLKQorI2RlZmluZSBJTlZBTElEX1AyTV9FTlRS WSAofjBVTCkKKwordm9pZCBwMm1fY2hrX3Bmbih1bnNpZ25lZCBsb25nIHBmbik7CisKK3N0YXRp YyBpbmxpbmUgdW5zaWduZWQgbG9uZyBwMm1fcGFnZXModW5zaWduZWQgbG9uZyBwYWdlcykKK3sK KyAgICByZXR1cm4gKHBhZ2VzICsgUDJNX0VOVFJJRVMgLSAxKSA+PiBMMV9QMk1fU0hJRlQ7Cit9 CisKK3ZvaWQgYXJjaF9pbml0X3AybSh1bnNpZ25lZCBsb25nIG1heF9wZm5fcCk7CisKKyNlbHNl CisKKyNkZWZpbmUgbWZuX3RvX3BmbihfbWZuKSAoKHVuc2lnbmVkIGxvbmcpKF9tZm4pKQorI2Rl ZmluZSBwZm5fdG9fbWZuKF9wZm4pICgodW5zaWduZWQgbG9uZykoX3BmbikpCisKK3N0YXRpYyBp bmxpbmUgdm9pZCBhcmNoX2luaXRfcDJtKHVuc2lnbmVkIGxvbmcgbWF4X3Bmbl9wKSB7IH0KKwor I2VuZGlmCisKKyNpZiBkZWZpbmVkKENPTkZJR19QQVJBVklSVCkgJiYgZGVmaW5lZChDT05GSUdf QkFMTE9PTikKKwordm9pZCBhcmNoX3JlbWFwX3AybSh1bnNpZ25lZCBsb25nIG1heF9wZm4pOwor aW50IGFyY2hfZXhwYW5kX3AybSh1bnNpZ25lZCBsb25nIG1heF9wZm4pOworCisjZWxzZQorCitz dGF0aWMgaW5saW5lIHZvaWQgYXJjaF9yZW1hcF9wMm0odW5zaWduZWQgbG9uZyBtYXhfcGZuKSB7 IH0KK3N0YXRpYyBpbmxpbmUgaW50IGFyY2hfZXhwYW5kX3AybSh1bnNpZ25lZCBsb25nIG1heF9w Zm4pCit7CisgICAgcmV0dXJuIDA7Cit9CiAKICNlbmRpZgogCmRpZmYgLS1naXQgYS9pbmNsdWRl L3g4Ni9hcmNoX21tLmggYi9pbmNsdWRlL3g4Ni9hcmNoX21tLmgKaW5kZXggMmIxOGIzNC4uMjhh YjQwNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS94ODYvYXJjaF9tbS5oCisrKyBiL2luY2x1ZGUveDg2 L2FyY2hfbW0uaApAQCAtMTg0LDMxICsxODQsNiBAQCB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgcGdl bnRyeV90OwogI2RlZmluZSBJT19QUk9UIChMMV9QUk9UKQogI2RlZmluZSBJT19QUk9UX05PQ0FD SEUgKEwxX1BST1QgfCBfUEFHRV9QQ0QpCiAKLS8qIGZvciBQMk0gKi8KLSNpZmRlZiBfX3g4Nl82 NF9fCi0jZGVmaW5lIFAyTV9TSElGVCAgICAgICA5Ci0jZWxzZQotI2RlZmluZSBQMk1fU0hJRlQg ICAgICAgMTAKLSNlbmRpZgotI2RlZmluZSBQMk1fRU5UUklFUyAgICAgKDFVTCA8PCBQMk1fU0hJ RlQpCi0jZGVmaW5lIFAyTV9NQVNLICAgICAgICAoUDJNX0VOVFJJRVMgLSAxKQotI2RlZmluZSBM MV9QMk1fU0hJRlQgICAgUDJNX1NISUZUCi0jZGVmaW5lIEwyX1AyTV9TSElGVCAgICAoMiAqIFAy TV9TSElGVCkKLSNkZWZpbmUgTDNfUDJNX1NISUZUICAgICgzICogUDJNX1NISUZUKQotI2RlZmlu ZSBMMV9QMk1fSURYKHBmbikgKChwZm4pICYgUDJNX01BU0spCi0jZGVmaW5lIEwyX1AyTV9JRFgo cGZuKSAoKChwZm4pID4+IEwxX1AyTV9TSElGVCkgJiBQMk1fTUFTSykKLSNkZWZpbmUgTDNfUDJN X0lEWChwZm4pICgoKHBmbikgPj4gTDJfUDJNX1NISUZUKSAmIFAyTV9NQVNLKQotI2RlZmluZSBJ TlZBTElEX1AyTV9FTlRSWSAofjBVTCkKLQotI2lmbmRlZiBfX0FTU0VNQkxZX18KLXZvaWQgcDJt X2Noa19wZm4odW5zaWduZWQgbG9uZyBwZm4pOwotCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxv bmcgcDJtX3BhZ2VzKHVuc2lnbmVkIGxvbmcgcGFnZXMpCi17Ci0gICAgcmV0dXJuIChwYWdlcyAr IFAyTV9FTlRSSUVTIC0gMSkgPj4gTDFfUDJNX1NISUZUOwotfQotI2VuZGlmCi0KICNpbmNsdWRl ICJhcmNoX2xpbWl0cy5oIgogI2RlZmluZSBQQUdFX1NJWkUgICAgICAgX19QQUdFX1NJWkUKICNk ZWZpbmUgUEFHRV9TSElGVCAgICAgIF9fUEFHRV9TSElGVApAQCAtMjMyLDEwICsyMDcsMTQgQEAg dHlwZWRlZiB1bnNpZ25lZCBsb25nIHBhZGRyX3Q7CiB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbWFk ZHJfdDsKICNlbmRpZgogCitleHRlcm4gcGdlbnRyeV90ICpwdF9iYXNlOworI2lmZGVmIENPTkZJ R19QQVJBVklSVAogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgKnBoeXNfdG9fbWFjaGluZV9tYXBwaW5n OworI2Vsc2UKK2V4dGVybiBwZ2VudHJ5X3QgcGFnZV90YWJsZV9iYXNlW107CisjZW5kaWYKIGV4 dGVybiBjaGFyIF90ZXh0LCBfZXRleHQsIF9lcm9kYXRhLCBfZWRhdGEsIF9lbmQ7CiBleHRlcm4g dW5zaWduZWQgbG9uZyBtZm5femVybzsKLSNkZWZpbmUgcGZuX3RvX21mbihfcGZuKSAocGh5c190 b19tYWNoaW5lX21hcHBpbmdbKF9wZm4pXSkKIHN0YXRpYyBfX2lubGluZV9fIG1hZGRyX3QgcGh5 c190b19tYWNoaW5lKHBhZGRyX3QgcGh5cykKIHsKIAltYWRkcl90IG1hY2hpbmUgPSBwZm5fdG9f bWZuKHBoeXMgPj4gUEFHRV9TSElGVCk7CkBAIC0yNDMsNyArMjIyLDYgQEAgc3RhdGljIF9faW5s aW5lX18gbWFkZHJfdCBwaHlzX3RvX21hY2hpbmUocGFkZHJfdCBwaHlzKQogCXJldHVybiBtYWNo aW5lOwogfQogCi0jZGVmaW5lIG1mbl90b19wZm4oX21mbikgKG1hY2hpbmVfdG9fcGh5c19tYXBw aW5nWyhfbWZuKV0pCiBzdGF0aWMgX19pbmxpbmVfXyBwYWRkcl90IG1hY2hpbmVfdG9fcGh5cyht YWRkcl90IG1hY2hpbmUpCiB7CiAJcGFkZHJfdCBwaHlzID0gbWZuX3RvX3BmbihtYWNoaW5lID4+ IFBBR0VfU0hJRlQpOwpAQCAtMjY3LDEzICsyNDUsMTAgQEAgc3RhdGljIF9faW5saW5lX18gcGFk ZHJfdCBtYWNoaW5lX3RvX3BoeXMobWFkZHJfdCBtYWNoaW5lKQogI2RlZmluZSBwdGVfdG9fbWZu KF9wdGUpICAgICAgICAgICAoKChfcHRlKSAmIChQQUREUl9NQVNLJlBBR0VfTUFTSykpID4+IEwx X1BBR0VUQUJMRV9TSElGVCkKICNkZWZpbmUgcHRlX3RvX3ZpcnQoX3B0ZSkgICAgICAgICAgdG9f dmlydChtZm5fdG9fcGZuKHB0ZV90b19tZm4oX3B0ZSkpIDw8IFBBR0VfU0hJRlQpCiAKLQotI2Rl ZmluZSBQVF9CQVNFCQkJICAgKChwZ2VudHJ5X3QgKilzdGFydF9pbmZvLnB0X2Jhc2UpCi0KICNp ZmRlZiBfX3g4Nl82NF9fCi0jZGVmaW5lIHZpcnR1YWxfdG9fbDMoX3ZpcnQpCSAgICgocGdlbnRy eV90ICopcHRlX3RvX3ZpcnQoUFRfQkFTRVtsNF90YWJsZV9vZmZzZXQoX3ZpcnQpXSkpCisjZGVm aW5lIHZpcnR1YWxfdG9fbDMoX3ZpcnQpCSAgICgocGdlbnRyeV90ICopcHRlX3RvX3ZpcnQocHRf YmFzZVtsNF90YWJsZV9vZmZzZXQoX3ZpcnQpXSkpCiAjZWxzZQotI2RlZmluZSB2aXJ0dWFsX3Rv X2wzKF92aXJ0KQkgICBQVF9CQVNFCisjZGVmaW5lIHZpcnR1YWxfdG9fbDMoX3ZpcnQpCSAgIHB0 X2Jhc2UKICNlbmRpZgogCiAjZGVmaW5lIHZpcnR1YWxfdG9fbDIoX3ZpcnQpCSAgICh7IFwKQEAg LTI5Nyw2ICsyNzIsNyBAQCBzdGF0aWMgX19pbmxpbmVfXyBwYWRkcl90IG1hY2hpbmVfdG9fcGh5 cyhtYWRkcl90IG1hY2hpbmUpCiAjZGVmaW5lIGRvX21hcF96ZXJvKHN0YXJ0LCBuKSBkb19tYXBf ZnJhbWVzKHN0YXJ0LCAmbWZuX3plcm8sIG4sIDAsIDAsIERPTUlEX1NFTEYsIE5VTEwsIEwxX1BS T1RfUk8pCiAKIHBnZW50cnlfdCAqbmVlZF9wZ3QodW5zaWduZWQgbG9uZyBhZGRyKTsKK3ZvaWQg YXJjaF9tbV9wcmVpbml0KHZvaWQgKnApOwogCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvaW5jbHVk ZS94ZW4vYXJjaC14ODYveGVuLXg4Nl8zMi5oIGIvaW5jbHVkZS94ZW4vYXJjaC14ODYveGVuLXg4 Nl8zMi5oCmluZGV4IDE1MDQxOTEuLjYzMzk3MjcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUveGVuL2Fy Y2gteDg2L3hlbi14ODZfMzIuaAorKysgYi9pbmNsdWRlL3hlbi9hcmNoLXg4Ni94ZW4teDg2XzMy LmgKQEAgLTU1LDYgKzU1LDcgQEAKICNkZWZpbmUgRkxBVF9VU0VSX0RTICAgIEZMQVRfUklORzNf RFMKICNkZWZpbmUgRkxBVF9VU0VSX1NTICAgIEZMQVRfUklORzNfU1MKIAorI2lmZGVmIENPTkZJ R19QQVJBVklSVAogI2RlZmluZSBfX0hZUEVSVklTT1JfVklSVF9TVEFSVF9QQUUgICAgMHhGNTgw MDAwMAogI2RlZmluZSBfX01BQ0gyUEhZU19WSVJUX1NUQVJUX1BBRSAgICAgMHhGNTgwMDAwMAog I2RlZmluZSBfX01BQ0gyUEhZU19WSVJUX0VORF9QQUUgICAgICAgMHhGNjgwMDAwMApAQCAtOTAs NiArOTEsNyBAQAogI2lmbmRlZiBtYWNoaW5lX3RvX3BoeXNfbWFwcGluZwogI2RlZmluZSBtYWNo aW5lX3RvX3BoeXNfbWFwcGluZyAoKHVuc2lnbmVkIGxvbmcgKilNQUNIMlBIWVNfVklSVF9TVEFS VCkKICNlbmRpZgorI2VuZGlmCiAKIC8qIDMyLS82NC1iaXQgaW52YXJpYWJpbGl0eSBmb3IgY29u dHJvbCBpbnRlcmZhY2VzIChkb21jdGwvc3lzY3RsKS4gKi8KICNpZiBkZWZpbmVkKF9fWEVOX18p IHx8IGRlZmluZWQoX19YRU5fVE9PTFNfXykKZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2FyY2gt eDg2L3hlbi14ODZfNjQuaCBiL2luY2x1ZGUveGVuL2FyY2gteDg2L3hlbi14ODZfNjQuaAppbmRl eCAxYzRlMTU5Li4yYzAwMTExIDEwMDY0NAotLS0gYS9pbmNsdWRlL3hlbi9hcmNoLXg4Ni94ZW4t eDg2XzY0LmgKKysrIGIvaW5jbHVkZS94ZW4vYXJjaC14ODYveGVuLXg4Nl82NC5oCkBAIC03MCw2 ICs3MCw3IEBACiAjZGVmaW5lIEZMQVRfVVNFUl9TUzMyIEZMQVRfUklORzNfU1MzMgogI2RlZmlu ZSBGTEFUX1VTRVJfU1MgICBGTEFUX1VTRVJfU1M2NAogCisjaWZkZWYgQ09ORklHX1BBUkFWSVJU CiAjZGVmaW5lIF9fSFlQRVJWSVNPUl9WSVJUX1NUQVJUIDB4RkZGRjgwMDAwMDAwMDAwMAogI2Rl ZmluZSBfX0hZUEVSVklTT1JfVklSVF9FTkQgICAweEZGRkY4ODAwMDAwMDAwMDAKICNkZWZpbmUg X19NQUNIMlBIWVNfVklSVF9TVEFSVCAgMHhGRkZGODAwMDAwMDAwMDAwCkBAIC04Niw2ICs4Nyw3 IEBACiAjaWZuZGVmIG1hY2hpbmVfdG9fcGh5c19tYXBwaW5nCiAjZGVmaW5lIG1hY2hpbmVfdG9f cGh5c19tYXBwaW5nICgodW5zaWduZWQgbG9uZyAqKUhZUEVSVklTT1JfVklSVF9TVEFSVCkKICNl bmRpZgorI2VuZGlmCiAKIC8qCiAgKiBpbnQgSFlQRVJWSVNPUl9zZXRfc2VnbWVudF9iYXNlKHVu c2lnbmVkIGludCB3aGljaCwgdW5zaWduZWQgbG9uZyBiYXNlKQpkaWZmIC0tZ2l0IGEvbW0uYyBi L21tLmMKaW5kZXggY2EwYjliZS4uYzc2YmU3ZiAxMDA2NDQKLS0tIGEvbW0uYworKysgYi9tbS5j CkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSA8eGVuL21lbW9yeS5oPgogI2luY2x1ZGUgPG1p bmktb3MvbW0uaD4KICNpbmNsdWRlIDxtaW5pLW9zL2JhbGxvb24uaD4KKyNpbmNsdWRlIDxtaW5p LW9zL3BhcmF2aXJ0Lmg+CiAjaW5jbHVkZSA8bWluaS1vcy90eXBlcy5oPgogI2luY2x1ZGUgPG1p bmktb3MvbGliLmg+CiAjaW5jbHVkZSA8bWluaS1vcy94bWFsbG9jLmg+Ci0tIAoyLjYuNgoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBt YWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3Jn L3hlbi1kZXZlbAo=