From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v8 3/7] xen/x86: use rodata_start_2M_, init_start_2M_, and more Date: Tue, 15 Jan 2019 15:35:54 -0800 Message-ID: <1547595358-16379-3-git-send-email-sstabellini@kernel.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gjYFW-00039x-Aa for xen-devel@lists.xenproject.org; Tue, 15 Jan 2019 23:36:02 +0000 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.xenproject.org Cc: andrew.cooper3@citrix.com, julien.grall@arm.com, sstabellini@kernel.org, JBeulich@suse.com, Stefano Stabellini List-Id: xen-devel@lists.xenproject.org U3RhcnQgbWFraW5nIHVzZSBvZiB0aGUgZm9sbG93aW5nIHVpbnRwdHJfdCB2YXJpYWJsZXM6Cgp0 ZXh0X3N0YXJ0XzJNXywgdGV4dF9lbmRfMk1fLCByb2RhdGFfc3RhcnRfMk1fLCByb2RhdGFfZW5k XzJNXywKaW5pdF9zdGFydF8yTV8sIGluaXRfZW5kXzJNXywgcndkYXRhX3N0YXJ0XzJNXywgcndk YXRhX2VuZF8yTV8KClJlcGxhY2luZyB0aGUgY29ycmVzcG9uZGluZyBsaW5rZXIgc3ltYm9scy4g SXQgaXMgZG9uZSB0byBhdm9pZApjb21wYXJpbmcgYW5kIHN1YnRyYWN0aW5nIHBvaW50ZXJzIHBv aW50aW5nIHRvIGRpZmZlcmVudCBvYmplY3RzLgoKVGhlc2Ugc3ltYm9scyBhcmUgYWxsIHg4NiBz cGVjaWZpYyBzeW1ib2xzLgoKU2lnbmVkLW9mZi1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzdGVm YW5vc0B4aWxpbnguY29tPgotLS0KQ2hhbmdlcyBpbiB2ODoKLSByZW1vdmUgU1lNQk9MX0hJREUK LSB1c2UgbmV3IHN5bWJvbCBuYW1lcwotIGNoYW5nZXMgYXJlIHNwbGl0IGRpZmZlcmVudGx5IGFj cm9zcyB0aGUgcGF0Y2hlcwotLS0KIHhlbi9hcmNoL3g4Ni9zZXR1cC5jICAgICAgICB8IDYwICsr KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogeGVuL2FyY2gveDg2 L3Rib290LmMgICAgICAgIHwgIDggKysrLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L21tLmggICAg fCAgMiArLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9zZXR1cC5oIHwgIDggKysrLS0tCiA0IGZpbGVz IGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDM5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L3hlbi9hcmNoL3g4Ni9zZXR1cC5jIGIveGVuL2FyY2gveDg2L3NldHVwLmMKaW5kZXggMzQ5NDlm YzQuLjNhMmFhNGMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zZXR1cC5jCisrKyBiL3hlbi9h cmNoL3g4Ni9zZXR1cC5jCkBAIC01NzgsMTMgKzU3OCwxMyBAQCBzdGF0aWMgdm9pZCBfX2luaXQg a2V4ZWNfcmVzZXJ2ZV9hcmVhKHN0cnVjdCBlODIwbWFwICplODIwKQogCiBzdGF0aWMgaW5saW5l IGJvb2wgdXNpbmdfMk1fbWFwcGluZyh2b2lkKQogewotICAgIHJldHVybiAhbDFfdGFibGVfb2Zm c2V0KCh1bnNpZ25lZCBsb25nKV9fMk1fdGV4dF9lbmQpICYmCi0gICAgICAgICAgICFsMV90YWJs ZV9vZmZzZXQoKHVuc2lnbmVkIGxvbmcpX18yTV9yb2RhdGFfc3RhcnQpICYmCi0gICAgICAgICAg ICFsMV90YWJsZV9vZmZzZXQoKHVuc2lnbmVkIGxvbmcpX18yTV9yb2RhdGFfZW5kKSAmJgotICAg ICAgICAgICAhbDFfdGFibGVfb2Zmc2V0KCh1bnNpZ25lZCBsb25nKV9fMk1faW5pdF9zdGFydCkg JiYKLSAgICAgICAgICAgIWwxX3RhYmxlX29mZnNldCgodW5zaWduZWQgbG9uZylfXzJNX2luaXRf ZW5kKSAmJgotICAgICAgICAgICAhbDFfdGFibGVfb2Zmc2V0KCh1bnNpZ25lZCBsb25nKV9fMk1f cndkYXRhX3N0YXJ0KSAmJgotICAgICAgICAgICAhbDFfdGFibGVfb2Zmc2V0KCh1bnNpZ25lZCBs b25nKV9fMk1fcndkYXRhX2VuZCk7CisgICAgcmV0dXJuICFsMV90YWJsZV9vZmZzZXQodGV4dF9l bmRfMk1fKSAmJgorICAgICAgICAgICAhbDFfdGFibGVfb2Zmc2V0KHJvZGF0YV9zdGFydF8yTV8p ICYmCisgICAgICAgICAgICFsMV90YWJsZV9vZmZzZXQocm9kYXRhX2VuZF8yTV8pICYmCisgICAg ICAgICAgICFsMV90YWJsZV9vZmZzZXQoaW5pdF9zdGFydF8yTV8pICYmCisgICAgICAgICAgICFs MV90YWJsZV9vZmZzZXQoaW5pdF9lbmRfMk1fKSAmJgorICAgICAgICAgICAhbDFfdGFibGVfb2Zm c2V0KHJ3ZGF0YV9zdGFydF8yTV8pICYmCisgICAgICAgICAgICFsMV90YWJsZV9vZmZzZXQocndk YXRhX2VuZF8yTV8pOwogfQogCiBzdGF0aWMgdm9pZCBub2lubGluZSBpbml0X2RvbmUodm9pZCkK QEAgLTYwNiw4ICs2MDYsOCBAQCBzdGF0aWMgdm9pZCBub2lubGluZSBpbml0X2RvbmUodm9pZCkK ICAgICAvKiBEZXN0cm95IFhlbidzIG1hcHBpbmdzLCBhbmQgcmV1c2UgdGhlIHBhZ2VzLiAqLwog ICAgIGlmICggdXNpbmdfMk1fbWFwcGluZygpICkKICAgICB7Ci0gICAgICAgIHN0YXJ0ID0gKHVu c2lnbmVkIGxvbmcpJl9fMk1faW5pdF9zdGFydCwKLSAgICAgICAgZW5kICAgPSAodW5zaWduZWQg bG9uZykmX18yTV9pbml0X2VuZDsKKyAgICAgICAgc3RhcnQgPSBpbml0X3N0YXJ0XzJNXywKKyAg ICAgICAgZW5kICAgPSBpbml0X2VuZF8yTV87CiAgICAgfQogICAgIGVsc2UKICAgICB7CkBAIC05 NzIsNyArOTcyLDcgQEAgdm9pZCBfX2luaXQgbm9yZXR1cm4gX19zdGFydF94ZW4odW5zaWduZWQg bG9uZyBtYmlfcCkKICAgICAgICAgICogcmVzcGVjdGl2ZSByZXNlcnZlX2U4MjBfcmFtKCkgaW52 b2NhdGlvbiBiZWxvdy4KICAgICAgICAgICovCiAgICAgICAgIG1vZFttYmktPm1vZHNfY291bnRd Lm1vZF9zdGFydCA9IHZpcnRfdG9fbWZuKHN0ZXh0Xyk7Ci0gICAgICAgIG1vZFttYmktPm1vZHNf Y291bnRdLm1vZF9lbmQgPSAodWludHB0cl90KV9fMk1fcndkYXRhX2VuZCAtIHN0ZXh0XzsKKyAg ICAgICAgbW9kW21iaS0+bW9kc19jb3VudF0ubW9kX2VuZCA9IHJ3ZGF0YV9lbmRfMk1fIC0gc3Rl eHRfOwogICAgIH0KIAogICAgIG1vZHVsZXNfaGVhZHJvb20gPSBiemltYWdlX2hlYWRyb29tKGJv b3RzdHJhcF9tYXAobW9kKSwgbW9kLT5tb2RfZW5kKTsKQEAgLTEwMjMsNyArMTAyMyw3IEBAIHZv aWQgX19pbml0IG5vcmV0dXJuIF9fc3RhcnRfeGVuKHVuc2lnbmVkIGxvbmcgbWJpX3ApCiAgICAg ICAgICAgICAgICAgICAgICAxVUwgPDwgKFBBR0VfU0hJRlQgKyAzMikpICkKICAgICAgICAgICAg IGUgPSBtaW4oSFlQRVJWSVNPUl9WSVJUX0VORCAtIERJUkVDVE1BUF9WSVJUX1NUQVJULAogICAg ICAgICAgICAgICAgICAgICAxVUwgPDwgKFBBR0VfU0hJRlQgKyAzMikpOwotI2RlZmluZSByZWxv Y19zaXplICgoX19wYShfXzJNX3J3ZGF0YV9lbmQpICsgbWFzaykgJiB+bWFzaykKKyNkZWZpbmUg cmVsb2Nfc2l6ZSAoKF9fcGEocndkYXRhX2VuZF8yTV8pICsgbWFzaykgJiB+bWFzaykKICAgICAg ICAgLyogSXMgdGhlIHJlZ2lvbiBzdWl0YWJsZSBmb3IgcmVsb2NhdGluZyBYZW4/ICovCiAgICAg ICAgIGlmICggIXhlbl9waHlzX3N0YXJ0ICYmIGUgPD0gbGltaXQgKQogICAgICAgICB7CkBAIC0x MTA0LDcgKzExMDQsNyBAQCB2b2lkIF9faW5pdCBub3JldHVybiBfX3N0YXJ0X3hlbih1bnNpZ25l ZCBsb25nIG1iaV9wKQogICAgICAgICAgICAgLyogVGhlIG9ubHkgZGF0YSBtYXBwaW5ncyB0byBi ZSByZWxvY2F0ZWQgYXJlIGluIHRoZSBYZW4gYXJlYS4gKi8KICAgICAgICAgICAgIHBsMmUgPSBf X3ZhKF9fcGEobDJfeGVubWFwKSk7CiAgICAgICAgICAgICAvKgotICAgICAgICAgICAgICogVW5k byB0aGUgdGVtcG9yYXJ5LWhvb2tpbmcgb2YgdGhlIGwxX2lkZW50bWFwLiAgX18yTV90ZXh0X3N0 YXJ0CisgICAgICAgICAgICAgKiBVbmRvIHRoZSB0ZW1wb3JhcnktaG9va2luZyBvZiB0aGUgbDFf aWRlbnRtYXAuICB0ZXh0X3N0YXJ0XzJNXwogICAgICAgICAgICAgICogaXMgY29udGFpbmVkIGlu IHRoaXMgUFRFLgogICAgICAgICAgICAgICovCiAgICAgICAgICAgICBCVUdfT04odXNpbmdfMk1f bWFwcGluZygpICYmCkBAIC0xMTI2LDIyICsxMTI2LDIyIEBAIHZvaWQgX19pbml0IG5vcmV0dXJu IF9fc3RhcnRfeGVuKHVuc2lnbmVkIGxvbmcgbWJpX3ApCiAgICAgICAgICAgICAgICAgICAgIGNv bnRpbnVlOwogICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgIGlmICggaSA8IGwy X3RhYmxlX29mZnNldCgodW5zaWduZWQgbG9uZykmX18yTV90ZXh0X2VuZCkgKQorICAgICAgICAg ICAgICAgIGlmICggaSA8IGwyX3RhYmxlX29mZnNldCh0ZXh0X2VuZF8yTV8pICkKICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIGZsYWdzID0gUEFHRV9IWVBFUlZJU09SX1JY IHwgX1BBR0VfUFNFOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBlbHNlIGlm ICggaSA+PSBsMl90YWJsZV9vZmZzZXQoKHVuc2lnbmVkIGxvbmcpJl9fMk1fcm9kYXRhX3N0YXJ0 KSAmJgotICAgICAgICAgICAgICAgICAgICAgICAgICBpIDwgIGwyX3RhYmxlX29mZnNldCgodW5z aWduZWQgbG9uZykmX18yTV9yb2RhdGFfZW5kKSApCisgICAgICAgICAgICAgICAgZWxzZSBpZiAo IGkgPj0gbDJfdGFibGVfb2Zmc2V0KHJvZGF0YV9zdGFydF8yTV8pICYmCisgICAgICAgICAgICAg ICAgICAgICAgICAgIGkgPCAgbDJfdGFibGVfb2Zmc2V0KHJvZGF0YV9lbmRfMk1fKSApCiAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICBmbGFncyA9IFBBR0VfSFlQRVJWSVNP Ul9STyB8IF9QQUdFX1BTRTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxz ZSBpZiAoIGkgPj0gbDJfdGFibGVfb2Zmc2V0KCh1bnNpZ25lZCBsb25nKSZfXzJNX2luaXRfc3Rh cnQpICYmCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGkgPCAgbDJfdGFibGVfb2Zmc2V0KCh1 bnNpZ25lZCBsb25nKSZfXzJNX2luaXRfZW5kKSApCisgICAgICAgICAgICAgICAgZWxzZSBpZiAo IGkgPj0gbDJfdGFibGVfb2Zmc2V0KGluaXRfc3RhcnRfMk1fKSAmJgorICAgICAgICAgICAgICAg ICAgICAgICAgICBpIDwgIGwyX3RhYmxlX29mZnNldChpbml0X2VuZF8yTV8pICkKICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIGZsYWdzID0gUEFHRV9IWVBFUlZJU09SX1JX WCB8IF9QQUdFX1BTRTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZSBp ZiAoIChpID49IGwyX3RhYmxlX29mZnNldCgodW5zaWduZWQgbG9uZykmX18yTV9yd2RhdGFfc3Rh cnQpICYmCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpIDwgIGwyX3RhYmxlX29mZnNldCgo dW5zaWduZWQgbG9uZykmX18yTV9yd2RhdGFfZW5kKSkgKQorICAgICAgICAgICAgICAgIGVsc2Ug aWYgKCAoaSA+PSBsMl90YWJsZV9vZmZzZXQocndkYXRhX3N0YXJ0XzJNXykgJiYKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIGkgPCAgbDJfdGFibGVfb2Zmc2V0KHJ3ZGF0YV9lbmRfMk1fKSkg KQogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgZmxhZ3MgPSBQQUdFX0hZ UEVSVklTT1JfUlcgfCBfUEFHRV9QU0U7CiAgICAgICAgICAgICAgICAgfQpAQCAtMTIzOCw3ICsx MjM4LDcgQEAgdm9pZCBfX2luaXQgbm9yZXR1cm4gX19zdGFydF94ZW4odW5zaWduZWQgbG9uZyBt YmlfcCkKICAgICAgICAgcGFuaWMoIk5vdCBlbm91Z2ggbWVtb3J5IHRvIHJlbG9jYXRlIFhlblxu Iik7CiAKICAgICAvKiBUaGlzIG5lZWRzIHRvIHJlbWFpbiBpbiBzeW5jIHdpdGggeGVuX2luX3Jh bmdlKCkuICovCi0gICAgcmVzZXJ2ZV9lODIwX3JhbSgmYm9vdF9lODIwLCBfX3BhKHN0ZXh0Xyks IF9fcGEoX18yTV9yd2RhdGFfZW5kKSk7CisgICAgcmVzZXJ2ZV9lODIwX3JhbSgmYm9vdF9lODIw LCBfX3BhKHN0ZXh0XyksIF9fcGEocndkYXRhX2VuZF8yTV8pKTsKIAogICAgIC8qIExhdGUga2V4 ZWMgcmVzZXJ2YXRpb24gKGR5bmFtaWMgc3RhcnQgYWRkcmVzcykuICovCiAgICAga2V4ZWNfcmVz ZXJ2ZV9hcmVhKCZib290X2U4MjApOwpAQCAtMTM5NCwyMiArMTM5NCwyMiBAQCB2b2lkIF9faW5p dCBub3JldHVybiBfX3N0YXJ0X3hlbih1bnNpZ25lZCBsb25nIG1iaV9wKQogICAgIHsKICAgICAg ICAgLyogTWFyayAudGV4dCBhcyBSWCAoYXZvaWRpbmcgdGhlIGZpcnN0IDJNIHN1cGVycGFnZSku ICovCiAgICAgICAgIG1vZGlmeV94ZW5fbWFwcGluZ3MoWEVOX1ZJUlRfU1RBUlQgKyBNQigyKSwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAodW5zaWduZWQgbG9uZykmX18yTV90ZXh0X2Vu ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0X2VuZF8yTV8sCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUEFHRV9IWVBFUlZJU09SX1JYKTsKIAogICAgICAgICAvKiBNYXJr IC5yb2RhdGEgYXMgUk8uICovCi0gICAgICAgIG1vZGlmeV94ZW5fbWFwcGluZ3MoKHVuc2lnbmVk IGxvbmcpJl9fMk1fcm9kYXRhX3N0YXJ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1 bnNpZ25lZCBsb25nKSZfXzJNX3JvZGF0YV9lbmQsCisgICAgICAgIG1vZGlmeV94ZW5fbWFwcGlu Z3Mocm9kYXRhX3N0YXJ0XzJNXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2RhdGFf ZW5kXzJNXywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQUdFX0hZUEVSVklTT1JfUk8p OwogCiAgICAgICAgIC8qIE1hcmsgLmRhdGEgYW5kIC5ic3MgYXMgUlcuICovCi0gICAgICAgIG1v ZGlmeV94ZW5fbWFwcGluZ3MoKHVuc2lnbmVkIGxvbmcpJl9fMk1fcndkYXRhX3N0YXJ0LAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICh1bnNpZ25lZCBsb25nKSZfXzJNX3J3ZGF0YV9lbmQs CisgICAgICAgIG1vZGlmeV94ZW5fbWFwcGluZ3MocndkYXRhX3N0YXJ0XzJNXywKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICByd2RhdGFfZW5kXzJNXywKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBQQUdFX0hZUEVSVklTT1JfUlcpOwogCiAgICAgICAgIC8qIERyb3AgdGhlIHJlbWFp bmluZyBtYXBwaW5ncyBpbiB0aGUgc2hhdHRlcmVkIHN1cGVycGFnZS4gKi8KLSAgICAgICAgZGVz dHJveV94ZW5fbWFwcGluZ3MoKHVuc2lnbmVkIGxvbmcpJl9fMk1fcndkYXRhX2VuZCwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUk9VTkRVUCgodW5zaWduZWQgbG9uZykmX18yTV9yd2Rh dGFfZW5kLCBNQigyKSkpOworICAgICAgICBkZXN0cm95X3hlbl9tYXBwaW5ncyhyd2RhdGFfZW5k XzJNXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUk9VTkRVUChyd2RhdGFfZW5kXzJN XywgTUIoMikpKTsKICAgICB9CiAKICAgICBucl9wYWdlcyA9IDA7CkBAIC0xODcxLDEwICsxODcx LDEwIEBAIGludCBfX2h3ZG9tX2luaXQgeGVuX2luX3JhbmdlKHVuc2lnbmVkIGxvbmcgbWZuKQog CiAgICAgICAgIC8qIGh5cGVydmlzb3IgLnRleHQgKyAucm9kYXRhICovCiAgICAgICAgIHhlbl9y ZWdpb25zW3JlZ2lvbl9yb10ucyA9IF9fcGEoc3RleHRfKTsKLSAgICAgICAgeGVuX3JlZ2lvbnNb cmVnaW9uX3JvXS5lID0gX19wYSgmX18yTV9yb2RhdGFfZW5kKTsKKyAgICAgICAgeGVuX3JlZ2lv bnNbcmVnaW9uX3JvXS5lID0gX19wYShyb2RhdGFfZW5kXzJNXyk7CiAgICAgICAgIC8qIGh5cGVy dmlzb3IgLmRhdGEgKyAuYnNzICovCi0gICAgICAgIHhlbl9yZWdpb25zW3JlZ2lvbl9yd10ucyA9 IF9fcGEoJl9fMk1fcndkYXRhX3N0YXJ0KTsKLSAgICAgICAgeGVuX3JlZ2lvbnNbcmVnaW9uX3J3 XS5lID0gX19wYSgmX18yTV9yd2RhdGFfZW5kKTsKKyAgICAgICAgeGVuX3JlZ2lvbnNbcmVnaW9u X3J3XS5zID0gX19wYShyd2RhdGFfc3RhcnRfMk1fKTsKKyAgICAgICAgeGVuX3JlZ2lvbnNbcmVn aW9uX3J3XS5lID0gX19wYShyd2RhdGFfZW5kXzJNXyk7CiAgICAgfQogCiAgICAgc3RhcnQgPSAo cGFkZHJfdCltZm4gPDwgUEFHRV9TSElGVDsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni90Ym9v dC5jIGIveGVuL2FyY2gveDg2L3Rib290LmMKaW5kZXggNjIwMzAzZS4uN2MxMWNkYiAxMDA2NDQK LS0tIGEveGVuL2FyY2gveDg2L3Rib290LmMKKysrIGIveGVuL2FyY2gveDg2L3Rib290LmMKQEAg LTM3NCwxMiArMzc0LDEyIEBAIHZvaWQgdGJvb3Rfc2h1dGRvd24odWludDMyX3Qgc2h1dGRvd25f dHlwZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib290 c3ltX3BoeXModHJhbXBvbGluZV9zdGFydCk7CiAgICAgICAgIC8qIGh5cGVydmlzb3IgLnRleHQg KyAucm9kYXRhICovCiAgICAgICAgIGdfdGJvb3Rfc2hhcmVkLT5tYWNfcmVnaW9uc1sxXS5zdGFy dCA9ICh1aW50NjRfdClfX3BhKHN0ZXh0Xyk7Ci0gICAgICAgIGdfdGJvb3Rfc2hhcmVkLT5tYWNf cmVnaW9uc1sxXS5zaXplID0gX19wYSgmX18yTV9yb2RhdGFfZW5kKSAtCisgICAgICAgIGdfdGJv b3Rfc2hhcmVkLT5tYWNfcmVnaW9uc1sxXS5zaXplID0gX19wYShyb2RhdGFfZW5kXzJNXykgLQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fcGEoc3RleHRf KTsKICAgICAgICAgLyogaHlwZXJ2aXNvciAuZGF0YSArIC5ic3MgKi8KLSAgICAgICAgZ190Ym9v dF9zaGFyZWQtPm1hY19yZWdpb25zWzJdLnN0YXJ0ID0gKHVpbnQ2NF90KV9fcGEoJl9fMk1fcndk YXRhX3N0YXJ0KTsKLSAgICAgICAgZ190Ym9vdF9zaGFyZWQtPm1hY19yZWdpb25zWzJdLnNpemUg PSBfX3BhKCZfXzJNX3J3ZGF0YV9lbmQpIC0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBfX3BhKCZfXzJNX3J3ZGF0YV9zdGFydCk7CisgICAgICAgIGdfdGJv b3Rfc2hhcmVkLT5tYWNfcmVnaW9uc1syXS5zdGFydCA9ICh1aW50NjRfdClfX3BhKHJ3ZGF0YV9z dGFydF8yTV8pOworICAgICAgICBnX3Rib290X3NoYXJlZC0+bWFjX3JlZ2lvbnNbMl0uc2l6ZSA9 IF9fcGEocndkYXRhX2VuZF8yTV8pIC0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBfX3BhKHJ3ZGF0YV9zdGFydF8yTV8pOwogCiAgICAgICAgIC8qCiAgICAg ICAgICAqIE1BQyBkb21haW5zIGFuZCBvdGhlciBYZW4gbWVtb3J5CmRpZmYgLS1naXQgYS94ZW4v aW5jbHVkZS9hc20teDg2L21tLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L21tLmgKaW5kZXggM2Iw N2QxMi4uOTA0ZTg0YiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oCisrKyBi L3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaApAQCAtMjgxLDcgKzI4MSw3IEBAIHN0cnVjdCBwYWdl X2luZm8KICAgICAoX19tZm5fdmFsaWQobWZuKSAmJiBpc194ZW5faGVhcF9wYWdlKG1mbl90b19w YWdlKF9tZm4obWZuKSkpKQogI2RlZmluZSBpc194ZW5fZml4ZWRfbWZuKG1mbikgICAgICAgICAg ICAgICAgICAgICBcCiAgICAgKCgoKG1mbikgPDwgUEFHRV9TSElGVCkgPj0gX19wYShzdGV4dF8p KSAmJiAgXAotICAgICAoKChtZm4pIDw8IFBBR0VfU0hJRlQpIDw9IF9fcGEoJl9fMk1fcndkYXRh X2VuZCkpKQorICAgICAoKChtZm4pIDw8IFBBR0VfU0hJRlQpIDw9IF9fcGEocndkYXRhX2VuZF8y TV8pKSkKIAogI2RlZmluZSBQUnR5cGVfaW5mbyAiMDE2bHgiLyogc2hvdWxkIG9ubHkgYmUgdXNl ZCBmb3IgcHJpbnRrJ3MgKi8KIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9zZXR1 cC5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9zZXR1cC5oCmluZGV4IGJiNGMzODUuLmQ1MmJlZTIg MTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvc2V0dXAuaAorKysgYi94ZW4vaW5jbHVk ZS9hc20teDg2L3NldHVwLmgKQEAgLTcsMTAgKzcsMTAgQEAKIC8qIHZDUFUgcG9pbnRlciB1c2Vk IHByaW9yIHRvIHRoZXJlIGJlaW5nIGEgdmFsaWQgb25lIGFyb3VuZCAqLwogI2RlZmluZSBJTlZB TElEX1ZDUFUgKChzdHJ1Y3QgdmNwdSAqKTB4Y2NjY2NjY2NjY2NjYzAwMFVMKQogCi1leHRlcm4g Y29uc3QgY2hhciBfXzJNX3RleHRfc3RhcnRbXSwgX18yTV90ZXh0X2VuZFtdOwotZXh0ZXJuIGNv bnN0IGNoYXIgX18yTV9yb2RhdGFfc3RhcnRbXSwgX18yTV9yb2RhdGFfZW5kW107Ci1leHRlcm4g Y2hhciBfXzJNX2luaXRfc3RhcnRbXSwgX18yTV9pbml0X2VuZFtdOwotZXh0ZXJuIGNoYXIgX18y TV9yd2RhdGFfc3RhcnRbXSwgX18yTV9yd2RhdGFfZW5kW107CitleHRlcm4gdWludHB0cl90IHRl eHRfc3RhcnRfMk1fLCB0ZXh0X2VuZF8yTV87CitleHRlcm4gdWludHB0cl90IHJvZGF0YV9zdGFy dF8yTV8sIHJvZGF0YV9lbmRfMk1fOworZXh0ZXJuIHVpbnRwdHJfdCBpbml0X3N0YXJ0XzJNXywg aW5pdF9lbmRfMk1fOworZXh0ZXJuIHVpbnRwdHJfdCByd2RhdGFfc3RhcnRfMk1fLCByd2RhdGFf ZW5kXzJNXzsKIAogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgeGVuaGVhcF9pbml0aWFsX3BoeXNfc3Rh cnQ7CiAKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVj dC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1k ZXZlbA==