From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [PATCH 2/2] xen/arm: Stop relocating Xen Date: Thu, 29 Nov 2018 11:37:44 +0000 Message-ID: <20181129113744.2797-3-julien.grall@arm.com> References: <20181129113744.2797-1-julien.grall@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gSKeH-00082i-HE for xen-devel@lists.xenproject.org; Thu, 29 Nov 2018 11:38:25 +0000 In-Reply-To: <20181129113744.2797-1-julien.grall@arm.com> 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: andre.przywara@arm.com, Julien Grall , sstabellini@kernel.org List-Id: xen-devel@lists.xenproject.org QXQgdGhlIG1vbWVudCwgWGVuIGlzIHJlbG9jYXRlZCB0b3dhcmRzIHRoZSBlbmQgb2YgdGhlIG1l bW9yeS4gV2hpbGUKdGhpcyBoYXMgdGhlIGFkdmFudGFnZSB0byBmcmVlIHNwYWNlIGluIGxvdyBt ZW1vcnksIHRoZSBjb2RlIGlzIG5vdApjb21wbGlhbnQgd2l0aCB0aGUgYnJlYWstYmVmb3JlLW1h a2UgYmVjYXVzZSBpdCByZXF1aXJlcyB0byBzd2l0Y2gKYmV0d2VlbiB0d28gc2V0cyBvZiBwYWdl LXRhYmxlLiBUaGlzIGlzIG5vdCBlbnRpcmVseSB0cml2aWFsIHRvIGZpeCBhcwppdCB3b3VsZCBy ZXF1aXJlIHVzIHRvIGdvIHRocm91Z2ggYW4gaWRlbnRpdHkgbWFwcGluZyBhbmQgZGlzYWJsaW5n IE1NVS4KCkZ1cnRoZXJtb3JlLCBpdCBsb29rcyBsaWtlIHRoYXQgc29tZSBwbGF0Zm9ybSAoc3Vj aCBhcyB0aGUgSGlrZXk5NjApCm1heSBub3QgYmUgYWJsZSB0byBicmluZy11cCBzZWNvbmRhcnkg Q1BVcyBpZiB0aGUgZW50cnkgaXMgdG9vIGhpZ2guCgpJIGRvbid0IGJlbGlldmUgdGhlIGxvdyBt ZW1vcnkgaXMgYW4gaXNzdWUgYmVjYXVzZSBYZW4gaXMgcXVpdGUgdGlueQooPCAyTUIpLiBTbyB0 aGUgYmVzdCBzb2x1dGlvbiBpcyB0byBzdG9wIHJlbG9jYXRpbmcgWGVuLiBUaGlzIGhhcyB0aGUK YWR2YW50YWdlIHRvIHNpbXBsaWZ5IHRoZSBjb2RlIGFuZCBzaG91bGQgc3BlZWQtdXAgdGhlIGJv b3QgYXMgcmVsb2NhdGlvbgppcyBub3QgbmVjZXNzYXJ5IGFueW1vcmUuCgpOb3RlIHRoYXQgdGhl IGJyZWFrLWJlZm9yZS1tYWtlIGlzc3VlIGlzIG5vdCBmaXhlZCBieSB0aGlzIHBhdGNoLgoKU2ln bmVkLW9mZi1ieTogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KUmVwb3J0ZWQt Ynk6IE1hdHRoZXcgRGFsZXkgPG1hdHRkQGJ1Z2Z1enouY29tPgotLS0KIHhlbi9hcmNoL2FybS9h cm0zMi9oZWFkLlMgfCA1NCArKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IHhlbi9hcmNoL2FybS9hcm02NC9oZWFkLlMgfCA1MCArKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KIHhlbi9hcmNoL2FybS9tbS5jICAgICAgICAgfCAyMCArKysrLS0tLS0tLS0t LS0KIHhlbi9hcmNoL2FybS9zZXR1cC5jICAgICAgfCA2NSArKystLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLWFybS9tbS5oICB8ICAy ICstCiA1IGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDE3MyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vYXJtMzIvaGVhZC5TIGIveGVuL2FyY2gvYXJtL2Fy bTMyL2hlYWQuUwppbmRleCA5M2I1MWU5ZWYyLi4zOTBhNTA1ZTA1IDEwMDY0NAotLS0gYS94ZW4v YXJjaC9hcm0vYXJtMzIvaGVhZC5TCisrKyBiL3hlbi9hcmNoL2FybS9hcm0zMi9oZWFkLlMKQEAg LTQ2OSw1OCArNDY5LDEyIEBAIGZhaWw6ICAgUFJJTlQoIi0gQm9vdCBmYWlsZWQgLVxyXG4iKQog R0xPQkFMKF9lbmRfYm9vdCkKIAogLyoKLSAqIENvcHkgWGVuIHRvIG5ldyBsb2NhdGlvbiBhbmQg c3dpdGNoIFRUQlIKKyAqIFN3aXRjaCBUVEJSCiAgKiByMTpyMCAgICAgICB0dGJyCi0gKiByMiAg ICAgICAgICBzb3VyY2UgYWRkcmVzcwotICogcjMgICAgICAgICAgZGVzdGluYXRpb24gYWRkcmVz cwotICogW3NwXT0+cjQgICAgbGVuZ3RoCiAgKgotICogU291cmNlIGFuZCBkZXN0aW5hdGlvbiBt dXN0IGJlIHdvcmQgYWxpZ25lZCwgbGVuZ3RoIGlzIHJvdW5kZWQgdXAKLSAqIHRvIGEgMTYgYnl0 ZSBib3VuZGFyeS4KLSAqCi0gKiBNVVNUIEJFIFZFUlkgQ0FSRUZVTCB3aGVuIHNhdmluZyB0aGlu Z3MgdG8gUkFNIG92ZXIgdGhlIGNvcHkKKyAqIFRPRE86IFRoaXMgY29kZSBkb2VzIG5vdCBjb21w bHkgd2l0aCBicmVhay1iZWZvcmUtbWFrZS4KICAqLwotRU5UUlkocmVsb2NhdGVfeGVuKQotICAg ICAgICBwdXNoIHtyNCxyNSxyNixyNyxyOCxyOSxyMTAscjExfQotCi0gICAgICAgIGxkciAgIHI0 LCBbc3AsICM4KjRdICAgICAgICAgICAgICAgIC8qIEdldCA0dGggYXJndW1lbnQgZnJvbSBzdGFj ayAqLwotCi0gICAgICAgIC8qIENvcHkgMTYgYnl0ZXMgYXQgYSB0aW1lIHVzaW5nOgotICAgICAg ICAgKiByNTogIGNvdW50ZXIKLSAgICAgICAgICogcjY6ICBkYXRhCi0gICAgICAgICAqIHI3OiAg ZGF0YQotICAgICAgICAgKiByODogIGRhdGEKLSAgICAgICAgICogcjk6ICBkYXRhCi0gICAgICAg ICAqIHIxMDogc291cmNlCi0gICAgICAgICAqIHIxMTogZGVzdGluYXRpb24KLSAgICAgICAgICov Ci0gICAgICAgIG1vdiAgIHI1LCByNAotICAgICAgICBtb3YgICByMTAsIHIyCi0gICAgICAgIG1v diAgIHIxMSwgcjMKLTE6ICAgICAgbGRtaWEgcjEwISwge3I2LCByNywgcjgsIHI5fQotICAgICAg ICBzdG1pYSByMTEhLCB7cjYsIHI3LCByOCwgcjl9Ci0KLSAgICAgICAgc3VicyAgcjUsIHI1LCAj MTYKLSAgICAgICAgYmd0ICAgMWIKLQotICAgICAgICAvKiBGbHVzaCBkZXN0aW5hdGlvbiBmcm9t IGRjYWNoZSB1c2luZzoKLSAgICAgICAgICogcjU6IGNvdW50ZXIKLSAgICAgICAgICogcjY6IHN0 ZXAKLSAgICAgICAgICogcjc6IHZhZGRyCi0gICAgICAgICAqLwotICAgICAgICBkc2IgICAgICAg IC8qIFNvIHRoZSBDUFUgaXNzdWVzIGFsbCB3cml0ZXMgdG8gdGhlIHJhbmdlICovCi0KLSAgICAg ICAgbW92ICAgcjUsIHI0Ci0gICAgICAgIGxkciAgIHI2LCA9ZGNhY2hlX2xpbmVfYnl0ZXMgLyog cjYgOj0gc3RlcCAqLwotICAgICAgICBsZHIgICByNiwgW3I2XQotICAgICAgICBtb3YgICByNywg cjMKLQotMTogICAgICBtY3IgICBDUDMyKHI3LCBEQ0NNVkFDKQotCi0gICAgICAgIGFkZCAgIHI3 LCByNywgcjYKLSAgICAgICAgc3VicyAgcjUsIHI1LCByNgotICAgICAgICBiZ3QgICAxYgotCitF TlRSWShzd2l0Y2hfdHRicikKICAgICAgICAgZHNiICAgICAgICAgICAgICAgICAgICAgICAgICAg IC8qIEVuc3VyZSB0aGUgZmx1c2hlcyBoYXBwZW4gYmVmb3JlCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKiBjb250aW51aW5nICovCiAgICAgICAgIGlzYiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAvKiBFbnN1cmUgc3luY2hyb25pemF0aW9uIHdpdGggcHJldmlv dXMKQEAgLTU0Myw4ICs0OTcsNiBAQCBFTlRSWShyZWxvY2F0ZV94ZW4pCiAgICAgICAgIGRzYiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFbnN1cmUgY29tcGxldGlvbiBvZiBUTEIrQlAg Zmx1c2ggKi8KICAgICAgICAgaXNiCiAKLSAgICAgICAgcG9wIHtyNCwgcjUscjYscjcscjgscjks cjEwLHIxMX0KLQogICAgICAgICBtb3YgcGMsIGxyCiAKICNpZmRlZiBDT05GSUdfRUFSTFlfUFJJ TlRLCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vYXJtNjQvaGVhZC5TIGIveGVuL2FyY2gvYXJt L2FybTY0L2hlYWQuUwppbmRleCA5NDI4YzNmNWEyLi40NTg5YTM3ODc0IDEwMDY0NAotLS0gYS94 ZW4vYXJjaC9hcm0vYXJtNjQvaGVhZC5TCisrKyBiL3hlbi9hcmNoL2FybS9hcm02NC9oZWFkLlMK QEAgLTYwNSw1MiArNjA1LDE0IEBAIGZhaWw6ICAgUFJJTlQoIi0gQm9vdCBmYWlsZWQgLVxyXG4i KQogCiBHTE9CQUwoX2VuZF9ib290KQogCi0vKiBDb3B5IFhlbiB0byBuZXcgbG9jYXRpb24gYW5k IHN3aXRjaCBUVEJSCi0gKiB4MCAgICB0dGJyCi0gKiB4MSAgICBzb3VyY2UgYWRkcmVzcwotICog eDIgICAgZGVzdGluYXRpb24gYWRkcmVzcwotICogeDMgICAgbGVuZ3RoCisvKgorICogU3dpdGNo IFRUQlIKICAqCi0gKiBTb3VyY2UgYW5kIGRlc3RpbmF0aW9uIG11c3QgYmUgd29yZCBhbGlnbmVk LCBsZW5ndGggaXMgcm91bmRlZCB1cAotICogdG8gYSAxNiBieXRlIGJvdW5kYXJ5LgorICogeDAg ICAgdHRicgogICoKLSAqIE1VU1QgQkUgVkVSWSBDQVJFRlVMIHdoZW4gc2F2aW5nIHRoaW5ncyB0 byBSQU0gb3ZlciB0aGUgY29weSAqLwotRU5UUlkocmVsb2NhdGVfeGVuKQotICAgICAgICAvKiBD b3B5IDE2IGJ5dGVzIGF0IGEgdGltZSB1c2luZzoKLSAgICAgICAgICogICB4OTogY291bnRlcgot ICAgICAgICAgKiAgIHgxMDogZGF0YQotICAgICAgICAgKiAgIHgxMTogZGF0YQotICAgICAgICAg KiAgIHgxMjogc291cmNlCi0gICAgICAgICAqICAgeDEzOiBkZXN0aW5hdGlvbgotICAgICAgICAg Ki8KLSAgICAgICAgbW92ICAgICB4OSwgeDMKLSAgICAgICAgbW92ICAgICB4MTIsIHgxCi0gICAg ICAgIG1vdiAgICAgeDEzLCB4MgotCi0xOiAgICAgIGxkcCAgICAgeDEwLCB4MTEsIFt4MTJdLCAj MTYKLSAgICAgICAgc3RwICAgICB4MTAsIHgxMSwgW3gxM10sICMxNgotCi0gICAgICAgIHN1YnMg ICAgeDksIHg5LCAjMTYKLSAgICAgICAgYmd0ICAgICAxYgotCi0gICAgICAgIC8qIEZsdXNoIGRl c3RpbmF0aW9uIGZyb20gZGNhY2hlIHVzaW5nOgotICAgICAgICAgKiB4OTogY291bnRlcgotICAg ICAgICAgKiB4MTA6IHN0ZXAKLSAgICAgICAgICogeDExOiB2YWRkcgotICAgICAgICAgKi8KLSAg ICAgICAgZHNiICAgc3kgICAgICAgIC8qIFNvIHRoZSBDUFUgaXNzdWVzIGFsbCB3cml0ZXMgdG8g dGhlIHJhbmdlICovCi0KLSAgICAgICAgbW92ICAgeDksIHgzCi0gICAgICAgIGxkciAgIHgxMCwg PWRjYWNoZV9saW5lX2J5dGVzIC8qIHgxMCA6PSBzdGVwICovCi0gICAgICAgIGxkciAgIHgxMCwg W3gxMF0KLSAgICAgICAgbW92ICAgeDExLCB4MgotCi0xOiAgICAgIGRjICAgIGN2YWMsIHgxMQot Ci0gICAgICAgIGFkZCAgIHgxMSwgeDExLCB4MTAKLSAgICAgICAgc3VicyAgeDksIHg5LCB4MTAK LSAgICAgICAgYmd0ICAgMWIKLQorICogVE9ETzogVGhpcyBjb2RlIGRvZXMgbm90IGNvbXBseSB3 aXRoIGJyZWFrLWJlZm9yZS1tYWtlLgorICovCitFTlRSWShzd2l0Y2hfdHRicikKICAgICAgICAg ZHNiICAgc3kgICAgICAgICAgICAgICAgICAgICAvKiBFbnN1cmUgdGhlIGZsdXNoZXMgaGFwcGVu IGJlZm9yZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIGNvbnRpbnVp bmcgKi8KICAgICAgICAgaXNiICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFbnN1cmUgc3lu Y2hyb25pemF0aW9uIHdpdGggcHJldmlvdXMKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9tbS5j IGIveGVuL2FyY2gvYXJtL21tLmMKaW5kZXggMjU1NmU1N2E5OS4uZjY5MzFlMDA3ZiAxMDA2NDQK LS0tIGEveGVuL2FyY2gvYXJtL21tLmMKKysrIGIveGVuL2FyY2gvYXJtL21tLmMKQEAgLTYwMSw3 ICs2MDEsNyBAQCB2b2lkIF9faW5pdCByZW1vdmVfZWFybHlfbWFwcGluZ3Modm9pZCkKICAgICBm bHVzaF94ZW5fZGF0YV90bGJfcmFuZ2VfdmEoQk9PVF9GRFRfVklSVF9TVEFSVCwgQk9PVF9GRFRf U0xPVF9TSVpFKTsKIH0KIAotZXh0ZXJuIHZvaWQgcmVsb2NhdGVfeGVuKHVpbnQ2NF90IHR0YnIs IHZvaWQgKnNyYywgdm9pZCAqZHN0LCBzaXplX3QgbGVuKTsKK2V4dGVybiB2b2lkIHN3aXRjaF90 dGJyKHVpbnQ2NF90IHR0YnIpOwogCiAvKiBDbGVhciBhIHRyYW5zbGF0aW9uIHRhYmxlIGFuZCBj bGVhbiAmIGludmFsaWRhdGUgdGhlIGNhY2hlICovCiBzdGF0aWMgdm9pZCBjbGVhcl90YWJsZSh2 b2lkICp0YWJsZSkKQEAgLTYxMiwxNSArNjEyLDEzIEBAIHN0YXRpYyB2b2lkIGNsZWFyX3RhYmxl KHZvaWQgKnRhYmxlKQogCiAvKiBCb290LXRpbWUgcGFnZXRhYmxlIHNldHVwLgogICogQ2hhbmdl cyBoZXJlIG1heSBuZWVkIG1hdGNoaW5nIGNoYW5nZXMgaW4gaGVhZC5TICovCi12b2lkIF9faW5p dCBzZXR1cF9wYWdldGFibGVzKHVuc2lnbmVkIGxvbmcgYm9vdF9waHlzX29mZnNldCwgcGFkZHJf dCB4ZW5fcGFkZHIpCit2b2lkIF9faW5pdCBzZXR1cF9wYWdldGFibGVzKHVuc2lnbmVkIGxvbmcg Ym9vdF9waHlzX29mZnNldCkKIHsKICAgICB1aW50NjRfdCB0dGJyOwotICAgIHVuc2lnbmVkIGxv bmcgZGVzdF92YTsKICAgICBscGFlX3QgcHRlLCAqcDsKICAgICBpbnQgaTsKIAotICAgIC8qIENh bGN1bGF0ZSB2aXJ0LXRvLXBoeXMgb2Zmc2V0IGZvciB0aGUgbmV3IGxvY2F0aW9uICovCi0gICAg cGh5c19vZmZzZXQgPSB4ZW5fcGFkZHIgLSAodW5zaWduZWQgbG9uZykgX3N0YXJ0OworICAgIHBo eXNfb2Zmc2V0ID0gYm9vdF9waHlzX29mZnNldDsKIAogI2lmZGVmIENPTkZJR19BUk1fNjQKICAg ICBwID0gKHZvaWQgKikgeGVuX3BndGFibGU7CkBAIC02NTIsNyArNjUwLDcgQEAgdm9pZCBfX2lu aXQgc2V0dXBfcGFnZXRhYmxlcyh1bnNpZ25lZCBsb25nIGJvb3RfcGh5c19vZmZzZXQsIHBhZGRy X3QgeGVuX3BhZGRyKQogICAgIC8qIEJyZWFrIHVwIHRoZSBYZW4gbWFwcGluZyBpbnRvIDRrIHBh Z2VzIGFuZCBwcm90ZWN0IHRoZW0gc2VwYXJhdGVseS4gKi8KICAgICBmb3IgKCBpID0gMDsgaSA8 IExQQUVfRU5UUklFUzsgaSsrICkKICAgICB7Ci0gICAgICAgIG1mbl90IG1mbiA9IG1mbl9hZGQo bWFkZHJfdG9fbWZuKHhlbl9wYWRkciksIGkpOworICAgICAgICBtZm5fdCBtZm4gPSBtZm5fYWRk KG1hZGRyX3RvX21mbigodmFkZHJfdClfc3RhcnQgKyBwaHlzX29mZnNldCksIGkpOwogICAgICAg ICB1bnNpZ25lZCBsb25nIHZhID0gWEVOX1ZJUlRfU1RBUlQgKyAoaSA8PCBQQUdFX1NISUZUKTsK IAogICAgICAgICBpZiAoICFpc19rZXJuZWwodmEpICkKQEAgLTY4NywyMSArNjg1LDEzIEBAIHZv aWQgX19pbml0IHNldHVwX3BhZ2V0YWJsZXModW5zaWduZWQgbG9uZyBib290X3BoeXNfb2Zmc2V0 LCBwYWRkcl90IHhlbl9wYWRkcikKICAgICBwdGUgPSBib290X3NlY29uZFtzZWNvbmRfdGFibGVf b2Zmc2V0KEJPT1RfRkRUX1ZJUlRfU1RBUlQgKyBTWl8yTSldOwogICAgIHhlbl9zZWNvbmRbc2Vj b25kX3RhYmxlX29mZnNldChCT09UX0ZEVF9WSVJUX1NUQVJUICsgU1pfMk0pXSA9IHB0ZTsKIAot ICAgIC8qIC4uLiBCb290IE1pc2MgYXJlYSBmb3IgeGVuIHJlbG9jYXRpb24gKi8KLSAgICBkZXN0 X3ZhID0gQk9PVF9SRUxPQ19WSVJUX1NUQVJUOwotICAgIHB0ZSA9IG1mbl90b194ZW5fZW50cnko bWFkZHJfdG9fbWZuKHhlbl9wYWRkciksIE1UX05PUk1BTCk7Ci0gICAgLyogTWFwIHRoZSBkZXN0 aW5hdGlvbiBpbiB4ZW5fc2Vjb25kLiAqLwotICAgIHhlbl9zZWNvbmRbc2Vjb25kX3RhYmxlX29m ZnNldChkZXN0X3ZhKV0gPSBwdGU7Ci0gICAgLyogTWFwIHRoZSBkZXN0aW5hdGlvbiBpbiBib290 X3NlY29uZC4gKi8KLSAgICB3cml0ZV9wdGUoYm9vdF9zZWNvbmQgKyBzZWNvbmRfdGFibGVfb2Zm c2V0KGRlc3RfdmEpLCBwdGUpOwotICAgIGZsdXNoX3hlbl9kYXRhX3RsYl9yYW5nZV92YV9sb2Nh bChkZXN0X3ZhLCBTRUNPTkRfU0laRSk7CiAjaWZkZWYgQ09ORklHX0FSTV82NAogICAgIHR0YnIg PSAodWludHB0cl90KSB4ZW5fcGd0YWJsZSArIHBoeXNfb2Zmc2V0OwogI2Vsc2UKICAgICB0dGJy ID0gKHVpbnRwdHJfdCkgY3B1MF9wZ3RhYmxlICsgcGh5c19vZmZzZXQ7CiAjZW5kaWYKIAotICAg IHJlbG9jYXRlX3hlbih0dGJyLCBfc3RhcnQsICh2b2lkKilkZXN0X3ZhLCBfZW5kIC0gX3N0YXJ0 KTsKKyAgICBzd2l0Y2hfdHRicih0dGJyKTsKIAogICAgIC8qIENsZWFyIHRoZSBjb3B5IG9mIHRo ZSBib290IHBhZ2V0YWJsZXMuIEVhY2ggc2Vjb25kYXJ5IENQVQogICAgICAqIHJlYnVpbGRzIHRo ZXNlIGl0c2VsZiAoc2VlIGhlYWQuUykgKi8KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9zZXR1 cC5jIGIveGVuL2FyY2gvYXJtL3NldHVwLmMKaW5kZXggYWVjNTNmMzBkMy4uZTg0MTcyZmJjMyAx MDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3NldHVwLmMKKysrIGIveGVuL2FyY2gvYXJtL3NldHVw LmMKQEAgLTM3NCw2ICszNzQsNyBAQCB2b2lkIF9faW5pdCBkaXNjYXJkX2luaXRpYWxfbW9kdWxl cyh2b2lkKQogICAgIHJlbW92ZV9lYXJseV9tYXBwaW5ncygpOwogfQogCisjaWZkZWYgQ09ORklH X0FSTV8zMgogLyoKICAqIFJldHVybnMgdGhlIGVuZCBhZGRyZXNzIG9mIHRoZSBoaWdoZXN0IHJl Z2lvbiBpbiB0aGUgcmFuZ2Ugcy4uZQogICogd2l0aCByZXF1aXJlZCBzaXplIGFuZCBhbGlnbm1l bnQgdGhhdCBkb2VzIG5vdCBjb25mbGljdCB3aXRoIHRoZQpAQCAtNDQwLDYgKzQ0MSw3IEBAIHN0 YXRpYyBwYWRkcl90IF9faW5pdCBjb25zaWRlcl9tb2R1bGVzKHBhZGRyX3QgcywgcGFkZHJfdCBl LAogICAgIH0KICAgICByZXR1cm4gZTsKIH0KKyNlbmRpZgogCiAvKgogICogUmV0dXJuIHRoZSBl bmQgb2YgdGhlIG5vbi1tb2R1bGUgcmVnaW9uIHN0YXJ0aW5nIGF0IHMuIEluIG90aGVyCkBAIC00 NzUsNTkgKzQ3Nyw2IEBAIHN0YXRpYyBwYWRkcl90IF9faW5pdCBuZXh0X21vZHVsZShwYWRkcl90 IHMsIHBhZGRyX3QgKmVuZCkKICAgICByZXR1cm4gbG93ZXN0OwogfQogCi0KLS8qKgotICogZ2V0 X3hlbl9wYWRkciAtIGdldCBwaHlzaWNhbCBhZGRyZXNzIHRvIHJlbG9jYXRlIFhlbiB0bwotICoK LSAqIFhlbiBpcyByZWxvY2F0ZWQgdG8gYXMgbmVhciB0byB0aGUgdG9wIG9mIFJBTSBhcyBwb3Nz aWJsZSBhbmQKLSAqIGFsaWduZWQgdG8gYSBYRU5fUEFERFJfQUxJR04gYm91bmRhcnkuCi0gKi8K LXN0YXRpYyBwYWRkcl90IF9faW5pdCBnZXRfeGVuX3BhZGRyKHZvaWQpCi17Ci0gICAgc3RydWN0 IG1lbWluZm8gKm1pID0gJmJvb3RpbmZvLm1lbTsKLSAgICBwYWRkcl90IG1pbl9zaXplOwotICAg IHBhZGRyX3QgcGFkZHIgPSAwOwotICAgIGludCBpOwotCi0gICAgbWluX3NpemUgPSAoX2VuZCAt IF9zdGFydCArIChYRU5fUEFERFJfQUxJR04tMSkpICYgfihYRU5fUEFERFJfQUxJR04tMSk7Ci0K LSAgICAvKiBGaW5kIHRoZSBoaWdoZXN0IGJhbmsgd2l0aCBlbm91Z2ggc3BhY2UuICovCi0gICAg Zm9yICggaSA9IDA7IGkgPCBtaS0+bnJfYmFua3M7IGkrKyApCi0gICAgewotICAgICAgICBjb25z dCBzdHJ1Y3QgbWVtYmFuayAqYmFuayA9ICZtaS0+YmFua1tpXTsKLSAgICAgICAgcGFkZHJfdCBz LCBlOwotCi0gICAgICAgIGlmICggYmFuay0+c2l6ZSA+PSBtaW5fc2l6ZSApCi0gICAgICAgIHsK LSAgICAgICAgICAgIGUgPSBjb25zaWRlcl9tb2R1bGVzKGJhbmstPnN0YXJ0LCBiYW5rLT5zdGFy dCArIGJhbmstPnNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5fc2l6 ZSwgWEVOX1BBRERSX0FMSUdOLCAwKTsKLSAgICAgICAgICAgIGlmICggIWUgKQotICAgICAgICAg ICAgICAgIGNvbnRpbnVlOwotCi0jaWZkZWYgQ09ORklHX0FSTV8zMgotICAgICAgICAgICAgLyog WGVuIG11c3QgYmUgdW5kZXIgNEdCICovCi0gICAgICAgICAgICBpZiAoIGUgPiAweDEwMDAwMDAw MFVMTCApCi0gICAgICAgICAgICAgICAgZSA9IDB4MTAwMDAwMDAwVUxMOwotICAgICAgICAgICAg aWYgKCBlIDwgYmFuay0+c3RhcnQgKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotI2VuZGlm Ci0KLSAgICAgICAgICAgIHMgPSBlIC0gbWluX3NpemU7Ci0KLSAgICAgICAgICAgIGlmICggcyA+ IHBhZGRyICkKLSAgICAgICAgICAgICAgICBwYWRkciA9IHM7Ci0gICAgICAgIH0KLSAgICB9Ci0K LSAgICBpZiAoICFwYWRkciApCi0gICAgICAgIHBhbmljKCJOb3QgZW5vdWdoIG1lbW9yeSB0byBy ZWxvY2F0ZSBYZW5cbiIpOwotCi0gICAgcHJpbnRrKCJQbGFjaW5nIFhlbiBhdCAweCUiUFJJcGFk ZHIiLTB4JSJQUklwYWRkciJcbiIsCi0gICAgICAgICAgIHBhZGRyLCBwYWRkciArIG1pbl9zaXpl KTsKLQotICAgIHJldHVybiBwYWRkcjsKLX0KLQogc3RhdGljIHZvaWQgX19pbml0IGluaXRfcGR4 KHZvaWQpCiB7CiAgICAgcGFkZHJfdCBiYW5rX3N0YXJ0LCBiYW5rX3NpemUsIGJhbmtfZW5kOwpA QCAtNzgzLDcgKzczMiw2IEBAIHZvaWQgX19pbml0IHN0YXJ0X3hlbih1bnNpZ25lZCBsb25nIGJv b3RfcGh5c19vZmZzZXQsCiB7CiAgICAgc2l6ZV90IGZkdF9zaXplOwogICAgIGludCBjcHVzLCBp OwotICAgIHBhZGRyX3QgeGVuX3BhZGRyOwogICAgIGNvbnN0IGNoYXIgKmNtZGxpbmU7CiAgICAg c3RydWN0IGJvb3Rtb2R1bGUgKnhlbl9ib290bW9kdWxlOwogICAgIHN0cnVjdCBkb21haW4gKmRv bTA7CkBAIC04MjcsMTQgKzc3NSw3IEBAIHZvaWQgX19pbml0IHN0YXJ0X3hlbih1bnNpZ25lZCBs b25nIGJvb3RfcGh5c19vZmZzZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYWRk cl90KSh1aW50cHRyX3QpKF9lbmQgLSBfc3RhcnQgKyAxKSwgZmFsc2UpOwogICAgIEJVR19PTigh eGVuX2Jvb3Rtb2R1bGUpOwogCi0gICAgeGVuX3BhZGRyID0gZ2V0X3hlbl9wYWRkcigpOwotICAg IHNldHVwX3BhZ2V0YWJsZXMoYm9vdF9waHlzX29mZnNldCwgeGVuX3BhZGRyKTsKLQotICAgIC8q IFVwZGF0ZSBYZW4ncyBhZGRyZXNzIG5vdyB0aGF0IHdlIGhhdmUgcmVsb2NhdGVkLiAqLwotICAg IHByaW50aygiVXBkYXRlIEJPT1RNT0RfWEVOIGZyb20gJSJQUklwYWRkciItJSJQUklwYWRkciIg PT4gJSJQUklwYWRkciItJSJQUklwYWRkciJcbiIsCi0gICAgICAgICAgIHhlbl9ib290bW9kdWxl LT5zdGFydCwgeGVuX2Jvb3Rtb2R1bGUtPnN0YXJ0ICsgeGVuX2Jvb3Rtb2R1bGUtPnNpemUsCi0g ICAgICAgICAgIHhlbl9wYWRkciwgeGVuX3BhZGRyICsgeGVuX2Jvb3Rtb2R1bGUtPnNpemUpOwot ICAgIHhlbl9ib290bW9kdWxlLT5zdGFydCA9IHhlbl9wYWRkcjsKKyAgICBzZXR1cF9wYWdldGFi bGVzKGJvb3RfcGh5c19vZmZzZXQpOwogCiAgICAgc2V0dXBfbW0oZmR0X3BhZGRyLCBmZHRfc2l6 ZSk7CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vbW0uaCBiL3hlbi9pbmNsdWRl L2FzbS1hcm0vbW0uaAppbmRleCBiMmY2MTA0YTdmLi5lYWZhMjZmNTZlIDEwMDY0NAotLS0gYS94 ZW4vaW5jbHVkZS9hc20tYXJtL21tLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9tbS5oCkBA IC0xNjksNyArMTY5LDcgQEAgZXh0ZXJuIHVuc2lnbmVkIGxvbmcgdG90YWxfcGFnZXM7CiAjZGVm aW5lIFBEWF9HUk9VUF9TSElGVCBTRUNPTkRfU0hJRlQKIAogLyogQm9vdC10aW1lIHBhZ2V0YWJs ZSBzZXR1cCAqLwotZXh0ZXJuIHZvaWQgc2V0dXBfcGFnZXRhYmxlcyh1bnNpZ25lZCBsb25nIGJv b3RfcGh5c19vZmZzZXQsIHBhZGRyX3QgeGVuX3BhZGRyKTsKK2V4dGVybiB2b2lkIHNldHVwX3Bh Z2V0YWJsZXModW5zaWduZWQgbG9uZyBib290X3BoeXNfb2Zmc2V0KTsKIC8qIE1hcCBGRFQgaW4g Ym9vdCBwYWdldGFibGUgKi8KIGV4dGVybiB2b2lkICplYXJseV9mZHRfbWFwKHBhZGRyX3QgZmR0 X3BhZGRyKTsKIC8qIFJlbW92ZSBlYXJseSBtYXBwaW5ncyAqLwotLSAKMi4xMS4wCgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxp bmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5w cm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==