From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH v2 45/62] xen/pvshim: modify Dom0 builder in order to build a DomU Date: Fri, 12 Jan 2018 11:28:53 +0000 Message-ID: <20180112112910.16762-46-wei.liu2@citrix.com> References: <20180112112910.16762-1-wei.liu2@citrix.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]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eZxyw-00034E-Jd for xen-devel@lists.xenproject.org; Fri, 12 Jan 2018 11:58:46 +0000 In-Reply-To: <20180112112910.16762-1-wei.liu2@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: wei.liu2@citrix.com List-Id: xen-devel@lists.xenproject.org RnJvbTogUm9nZXIgUGF1IE1vbm5lIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KCkFjY29yZGluZyB0 byB0aGUgUFYgQUJJIHRoZSBpbml0aWFsIHZpcnR1YWwgbWVtb3J5IHJlZ2lvbnMgc2hvdWxkCmNv bnRhaW4gdGhlIHhlbnN0b3JlIGFuZCBjb25zb2xlIHBhZ2VzIGFmdGVyIHRoZSBzdGFydF9pbmZv LiBBbHNvIHNldAp0aGUgY29ycmVjdCB2YWx1ZXMgaW4gdGhlIHN0YXJ0X2luZm8gZm9yIERvbVUg b3BlcmF0aW9uLgoKU2lnbmVkLW9mZi1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNp dHJpeC5jb20+Ci0tLQpDaGFuZ2VzIHNpbmNlIHYxOgogLSBNb2RpZnkgdGhlIHBvc2l0aW9uIG9m IHRoZSBfX2luaXQgYXR0cmlidXRlIGluIGRvbTBfdXBkYXRlX3BoeXNtYXAuCiAtIE1vdmUgdGhl IGFkZGl0aW9uIG9mIHNpemVvZihzdHJ1Y3QgZG9tMF92Z2FfY29uc29sZV9pbmZvKSB0bwogICB2 c3RhcnRpbmZvX2VuZCB3aXRoIGFuIGV4aXN0aW5nIGlmIGJyYW5jaC4KIC0gQWRkIGEgVE9ETyBp dGVtIGZvciBmaWxsX2NvbnNvbGVfc3RhcnRfaW5mbyBpbiB0aGUgIUNPTkZJR19WSURFTwogICBj YXNlLgogLSBzL3JlcGxhY2VfdmEvcmVwbGFjZV92YV9tYXBwaW5nLy4KIC0gUmVtb3ZlIGNhbGwg dG8gZnJlZV9kb21oZWFwX3BhZ2VzIGluIHJlcGxhY2VfdmFfbWFwcGluZy4KICAgcHV0X3BhZ2Vf YW5kX3R5cGUgc2hvdWxkIGFscmVhZHkgdGFrZSBjYXJlIG9mIGZyZWVpbmcgdGhlIHBhZ2UuCiAt IFVzZSBQRk5fRE9XTiBpbiBTRVRfQU5EX01BUF9QQVJBTSBtYWNyby4KIC0gUGFyZW50aGVzaXpl IHZhIGluIFNFVF9BTkRfTUFQX1BBUkFNIG1hY3JvIHdoZW4gcmVxdWlyZWQuCi0tLQogeGVuL2Fy Y2gveDg2L3B2L2RvbTBfYnVpbGQuYyAgICAgfCA0OCArKysrKysrKysrKysrKysrKysrKysrKy0t LS0tLS0KIHhlbi9hcmNoL3g4Ni9wdi9zaGltLmMgICAgICAgICAgIHwgNjMgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9kb20wX2J1 aWxkLmggfCAgNCArKysKIHhlbi9pbmNsdWRlL2FzbS14ODYvcHYvc2hpbS5oICAgIHwgMjEgKysr KysrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgMTI2IGluc2VydGlvbnMoKyksIDEwIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9wdi9kb20wX2J1aWxkLmMgYi94ZW4v YXJjaC94ODYvcHYvZG9tMF9idWlsZC5jCmluZGV4IDYxMTg5NzBkNDQuLjUyNTc2Nzk1Y2MgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wdi9kb20wX2J1aWxkLmMKKysrIGIveGVuL2FyY2gveDg2 L3B2L2RvbTBfYnVpbGQuYwpAQCAtMzEsOSArMzEsOCBAQAogI2RlZmluZSBMM19QUk9UIChCQVNF X1BST1R8X1BBR0VfRElSVFkpCiAjZGVmaW5lIEw0X1BST1QgKEJBU0VfUFJPVHxfUEFHRV9ESVJU WSkKIAotc3RhdGljIF9faW5pdCB2b2lkIGRvbTBfdXBkYXRlX3BoeXNtYXAoc3RydWN0IGRvbWFp biAqZCwgdW5zaWduZWQgbG9uZyBwZm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1bnNpZ25lZCBsb25nIG1mbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVuc2lnbmVkIGxvbmcgdnBoeXNtYXBfcykKK3ZvaWQgX19pbml0IGRvbTBfdXBk YXRlX3BoeXNtYXAoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBwZm4sCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbWZuLCB1bnNpZ25lZCBsb25n IHZwaHlzbWFwX3MpCiB7CiAgICAgaWYgKCAhaXNfcHZfMzJiaXRfZG9tYWluKGQpICkKICAgICAg ICAgKCh1bnNpZ25lZCBsb25nICopdnBoeXNtYXBfcylbcGZuXSA9IG1mbjsKQEAgLTMxNSw2ICsz MTQsMTAgQEAgaW50IF9faW5pdCBkb20wX2NvbnN0cnVjdF9wdihzdHJ1Y3QgZG9tYWluICpkLAog ICAgIHVuc2lnbmVkIGxvbmcgdnBoeXNtYXBfZW5kOwogICAgIHVuc2lnbmVkIGxvbmcgdnN0YXJ0 aW5mb19zdGFydDsKICAgICB1bnNpZ25lZCBsb25nIHZzdGFydGluZm9fZW5kOworICAgIHVuc2ln bmVkIGxvbmcgdnhlbnN0b3JlX3N0YXJ0ID0gMDsKKyAgICB1bnNpZ25lZCBsb25nIHZ4ZW5zdG9y ZV9lbmQgPSAwOworICAgIHVuc2lnbmVkIGxvbmcgdmNvbnNvbGVfc3RhcnQgPSAwOworICAgIHVu c2lnbmVkIGxvbmcgdmNvbnNvbGVfZW5kID0gMDsKICAgICB1bnNpZ25lZCBsb25nIHZzdGFja19z dGFydDsKICAgICB1bnNpZ25lZCBsb25nIHZzdGFja19lbmQ7CiAgICAgdW5zaWduZWQgbG9uZyB2 cHRfc3RhcnQ7CkBAIC00NDAsMTEgKzQ0MywyMiBAQCBpbnQgX19pbml0IGRvbTBfY29uc3RydWN0 X3B2KHN0cnVjdCBkb21haW4gKmQsCiAgICAgaWYgKCBwYXJtcy5wMm1fYmFzZSAhPSBVTlNFVF9B RERSICkKICAgICAgICAgdnBoeXNtYXBfZW5kID0gdnBoeXNtYXBfc3RhcnQ7CiAgICAgdnN0YXJ0 aW5mb19zdGFydCA9IHJvdW5kX3BndXAodnBoeXNtYXBfZW5kKTsKLSAgICB2c3RhcnRpbmZvX2Vu ZCAgID0gKHZzdGFydGluZm9fc3RhcnQgKwotICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9m KHN0cnVjdCBzdGFydF9pbmZvKSArCi0gICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yoc3Ry dWN0IGRvbTBfdmdhX2NvbnNvbGVfaW5mbykpOworICAgIHZzdGFydGluZm9fZW5kICAgPSB2c3Rh cnRpbmZvX3N0YXJ0ICsgc2l6ZW9mKHN0cnVjdCBzdGFydF9pbmZvKTsKKworICAgIGlmICggcHZf c2hpbSApCisgICAgeworICAgICAgICB2eGVuc3RvcmVfc3RhcnQgID0gcm91bmRfcGd1cCh2c3Rh cnRpbmZvX2VuZCk7CisgICAgICAgIHZ4ZW5zdG9yZV9lbmQgICAgPSB2eGVuc3RvcmVfc3RhcnQg KyBQQUdFX1NJWkU7CisgICAgICAgIHZjb25zb2xlX3N0YXJ0ICAgPSB2eGVuc3RvcmVfZW5kOwor ICAgICAgICB2Y29uc29sZV9lbmQgICAgID0gdmNvbnNvbGVfc3RhcnQgKyBQQUdFX1NJWkU7Cisg ICAgICAgIHZwdF9zdGFydCAgICAgICAgPSB2Y29uc29sZV9lbmQ7CisgICAgfQorICAgIGVsc2UK KyAgICB7CisgICAgICAgIHZwdF9zdGFydCAgICAgICAgPSByb3VuZF9wZ3VwKHZzdGFydGluZm9f ZW5kKTsKKyAgICAgICAgdnN0YXJ0aW5mb19lbmQgICs9IHNpemVvZihzdHJ1Y3QgZG9tMF92Z2Ff Y29uc29sZV9pbmZvKTsKKyAgICB9CiAKLSAgICB2cHRfc3RhcnQgICAgICAgID0gcm91bmRfcGd1 cCh2c3RhcnRpbmZvX2VuZCk7CiAgICAgZm9yICggbnJfcHRfcGFnZXMgPSAyOyA7IG5yX3B0X3Bh Z2VzKysgKQogICAgIHsKICAgICAgICAgdnB0X2VuZCAgICAgICAgICA9IHZwdF9zdGFydCArIChu cl9wdF9wYWdlcyAqIFBBR0VfU0laRSk7CkBAIC01MzcsNiArNTUxLDggQEAgaW50IF9faW5pdCBk b20wX2NvbnN0cnVjdF9wdihzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICAgICAiIEluaXQuIHJh bWRpc2s6ICVwLT4lcFxuIgogICAgICAgICAgICAiIFBoeXMtTWFjaCBtYXA6ICVwLT4lcFxuIgog ICAgICAgICAgICAiIFN0YXJ0IGluZm86ICAgICVwLT4lcFxuIgorICAgICAgICAgICAiIFhlbnN0 b3JlIHJpbmc6ICVwLT4lcFxuIgorICAgICAgICAgICAiIENvbnNvbGUgcmluZzogICVwLT4lcFxu IgogICAgICAgICAgICAiIFBhZ2UgdGFibGVzOiAgICVwLT4lcFxuIgogICAgICAgICAgICAiIEJv b3Qgc3RhY2s6ICAgICVwLT4lcFxuIgogICAgICAgICAgICAiIFRPVEFMOiAgICAgICAgICVwLT4l cFxuIiwKQEAgLTU0NCw2ICs1NjAsOCBAQCBpbnQgX19pbml0IGRvbTBfY29uc3RydWN0X3B2KHN0 cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgIF9wKHZpbml0cmRfc3RhcnQpLCBfcCh2aW5pdHJk X2VuZCksCiAgICAgICAgICAgIF9wKHZwaHlzbWFwX3N0YXJ0KSwgX3AodnBoeXNtYXBfZW5kKSwK ICAgICAgICAgICAgX3AodnN0YXJ0aW5mb19zdGFydCksIF9wKHZzdGFydGluZm9fZW5kKSwKKyAg ICAgICAgICAgX3AodnhlbnN0b3JlX3N0YXJ0KSwgX3AodnhlbnN0b3JlX2VuZCksCisgICAgICAg ICAgIF9wKHZjb25zb2xlX3N0YXJ0KSwgX3AodmNvbnNvbGVfZW5kKSwKICAgICAgICAgICAgX3Ao dnB0X3N0YXJ0KSwgX3AodnB0X2VuZCksCiAgICAgICAgICAgIF9wKHZzdGFja19zdGFydCksIF9w KHZzdGFja19lbmQpLAogICAgICAgICAgICBfcCh2X3N0YXJ0KSwgX3Aodl9lbmQpKTsKQEAgLTcz Nyw3ICs3NTUsOCBAQCBpbnQgX19pbml0IGRvbTBfY29uc3RydWN0X3B2KHN0cnVjdCBkb21haW4g KmQsCiAKICAgICBzaS0+c2hhcmVkX2luZm8gPSB2aXJ0X3RvX21hZGRyKGQtPnNoYXJlZF9pbmZv KTsKIAotICAgIHNpLT5mbGFncyAgICAgICAgPSBTSUZfUFJJVklMRUdFRCB8IFNJRl9JTklURE9N QUlOOworICAgIGlmICggIXB2X3NoaW0gKQorICAgICAgICBzaS0+ZmxhZ3MgICAgPSBTSUZfUFJJ VklMRUdFRCB8IFNJRl9JTklURE9NQUlOOwogICAgIGlmICggIXZpbml0cmRfc3RhcnQgJiYgaW5p dHJkX2xlbiApCiAgICAgICAgIHNpLT5mbGFncyAgIHw9IFNJRl9NT0RfU1RBUlRfUEZOOwogICAg IHNpLT5mbGFncyAgICAgICB8PSAoeGVuX3Byb2Nlc3Nvcl9wbWJpdHMgPDwgOCkgJiBTSUZfUE1f TUFTSzsKQEAgLTgyOSwxNSArODQ4LDI0IEBAIGludCBfX2luaXQgZG9tMF9jb25zdHJ1Y3RfcHYo c3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgc3RybGNweSgoY2hhciAqKXNpLT5jbWRfbGluZSwg Y21kbGluZSwgc2l6ZW9mKHNpLT5jbWRfbGluZSkpOwogCiAjaWZkZWYgQ09ORklHX1ZJREVPCi0g ICAgaWYgKCBmaWxsX2NvbnNvbGVfc3RhcnRfaW5mbygodm9pZCAqKShzaSArIDEpKSApCisgICAg aWYgKCAhcHZfc2hpbSAmJiBmaWxsX2NvbnNvbGVfc3RhcnRfaW5mbygodm9pZCAqKShzaSArIDEp KSApCiAgICAgewogICAgICAgICBzaS0+Y29uc29sZS5kb20wLmluZm9fb2ZmICA9IHNpemVvZihz dHJ1Y3Qgc3RhcnRfaW5mbyk7CiAgICAgICAgIHNpLT5jb25zb2xlLmRvbTAuaW5mb19zaXplID0g c2l6ZW9mKHN0cnVjdCBkb20wX3ZnYV9jb25zb2xlX2luZm8pOwogICAgIH0KICNlbmRpZgogCisg ICAgLyoKKyAgICAgKiBUT0RPOiBwcm92aWRlIGFuIGVtcHR5IHN0dWIgZm9yIGZpbGxfY29uc29s ZV9zdGFydF9pbmZvIGluIHRoZQorICAgICAqICFDT05GSUdfVklERU8gY2FzZSBzbyB0aGUgbG9n aWMgaGVyZSBjYW4gYmUgc2ltcGxpZmllZC4KKyAgICAgKi8KKyAgICBpZiAoIHB2X3NoaW0gKQor ICAgICAgICBwdl9zaGltX3NldHVwX2RvbShkLCBsNHN0YXJ0LCB2X3N0YXJ0LCB2eGVuc3RvcmVf c3RhcnQsIHZjb25zb2xlX3N0YXJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICB2cGh5c21h cF9zdGFydCwgc2kpOworCiAgICAgaWYgKCBpc19wdl8zMmJpdF9kb21haW4oZCkgKQotICAgICAg ICB4bGF0X3N0YXJ0X2luZm8oc2ksIFhMQVRfc3RhcnRfaW5mb19jb25zb2xlX2RvbTApOworICAg ICAgICB4bGF0X3N0YXJ0X2luZm8oc2ksIHB2X3NoaW0gPyBYTEFUX3N0YXJ0X2luZm9fY29uc29s ZV9kb21VCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFhMQVRfc3RhcnRf aW5mb19jb25zb2xlX2RvbTApOwogCiAgICAgLyogUmV0dXJuIHRvIGlkbGUgZG9tYWluJ3MgcGFn ZSB0YWJsZXMuICovCiAgICAgbWFwY2FjaGVfb3ZlcnJpZGVfY3VycmVudChOVUxMKTsKZGlmZiAt LWdpdCBhL3hlbi9hcmNoL3g4Ni9wdi9zaGltLmMgYi94ZW4vYXJjaC94ODYvcHYvc2hpbS5jCmlu ZGV4IDRkMDM3MzU1ZGIuLjc1MzY1YjA2OTcgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wdi9z aGltLmMKKysrIGIveGVuL2FyY2gveDg2L3B2L3NoaW0uYwpAQCAtMTgsMTYgKzE4LDc5IEBACiAg KgogICogQ29weXJpZ2h0IChjKSAyMDE3IENpdHJpeCBTeXN0ZW1zIEx0ZC4KICAqLworI2luY2x1 ZGUgPHhlbi9oeXBlcmNhbGwuaD4KICNpbmNsdWRlIDx4ZW4vaW5pdC5oPgogI2luY2x1ZGUgPHhl bi90eXBlcy5oPgogCiAjaW5jbHVkZSA8YXNtL2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vZG9tMF9i dWlsZC5oPgorI2luY2x1ZGUgPGFzbS9ndWVzdC5oPgorI2luY2x1ZGUgPGFzbS9wdi9tbS5oPgog CiAjaWZuZGVmIENPTkZJR19QVl9TSElNX0VYQ0xVU0lWRQogYm9vbCBwdl9zaGltOwogYm9vbGVh bl9wYXJhbSgicHYtc2hpbSIsIHB2X3NoaW0pOwogI2VuZGlmCiAKKyNkZWZpbmUgTDFfUFJPVCAo X1BBR0VfUFJFU0VOVHxfUEFHRV9SV3xfUEFHRV9BQ0NFU1NFRHxfUEFHRV9VU0VSfCBcCisgICAg ICAgICAgICAgICAgIF9QQUdFX0dVRVNUX0tFUk5FTCkKKyNkZWZpbmUgQ09NUEFUX0wxX1BST1Qg KF9QQUdFX1BSRVNFTlR8X1BBR0VfUld8X1BBR0VfQUNDRVNTRUQpCisKK3N0YXRpYyB2b2lkIF9f aW5pdCByZXBsYWNlX3ZhX21hcHBpbmcoc3RydWN0IGRvbWFpbiAqZCwgbDRfcGdlbnRyeV90ICps NHN0YXJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBs b25nIHZhLCB1bnNpZ25lZCBsb25nIG1mbikKK3sKKyAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdl OworICAgIGw0X3BnZW50cnlfdCAqcGw0ZTsKKyAgICBsM19wZ2VudHJ5X3QgKnBsM2U7CisgICAg bDJfcGdlbnRyeV90ICpwbDJlOworICAgIGwxX3BnZW50cnlfdCAqcGwxZTsKKworICAgIHBsNGUg PSBsNHN0YXJ0ICsgbDRfdGFibGVfb2Zmc2V0KHZhKTsKKyAgICBwbDNlID0gbDRlX3RvX2wzZSgq cGw0ZSk7CisgICAgcGwzZSArPSBsM190YWJsZV9vZmZzZXQodmEpOworICAgIHBsMmUgPSBsM2Vf dG9fbDJlKCpwbDNlKTsKKyAgICBwbDJlICs9IGwyX3RhYmxlX29mZnNldCh2YSk7CisgICAgcGwx ZSA9IGwyZV90b19sMWUoKnBsMmUpOworICAgIHBsMWUgKz0gbDFfdGFibGVfb2Zmc2V0KHZhKTsK KworICAgIHBhZ2UgPSBtZm5fdG9fcGFnZShsMWVfZ2V0X3BmbigqcGwxZSkpOworICAgIHB1dF9w YWdlX2FuZF90eXBlKHBhZ2UpOworCisgICAgKnBsMWUgPSBsMWVfZnJvbV9wZm4obWZuLCAoIWlz X3B2XzMyYml0X2RvbWFpbihkKSA/IEwxX1BST1QKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogQ09NUEFUX0wxX1BST1QpKTsKK30KKwordm9p ZCBfX2luaXQgcHZfc2hpbV9zZXR1cF9kb20oc3RydWN0IGRvbWFpbiAqZCwgbDRfcGdlbnRyeV90 ICpsNHN0YXJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyB2 YV9zdGFydCwgdW5zaWduZWQgbG9uZyBzdG9yZV92YSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGxvbmcgY29uc29sZV92YSwgdW5zaWduZWQgbG9uZyB2cGh5c21hcCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0X2luZm9fdCAqc2kpCit7CisgICAg dWludDY0X3QgcGFyYW0gPSAwOworICAgIGxvbmcgcmM7CisKKyNkZWZpbmUgU0VUX0FORF9NQVBf UEFSQU0ocCwgc2ksIHZhKSAoeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCisgICAgcmMgPSB4ZW5faHlwZXJjYWxsX2h2bV9nZXRfcGFyYW0ocCwgJnBhcmFtKTsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGlmICggcmMgKSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg ICAgICAgcGFuaWMoIlVuYWJsZSB0byBnZXQgIiAjcCAiXG4iKTsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCisgICAgKHNpKSA9IHBhcmFtOyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGlmICgg dmEgKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHNoYXJlX3hl bl9wYWdlX3dpdGhfZ3Vlc3QobWZuX3RvX3BhZ2UocGFyYW0pLCBkLCBYRU5TSEFSRV93cml0YWJs ZSk7ICAgXAorICAgICAgICByZXBsYWNlX3ZhX21hcHBpbmcoZCwgbDRzdGFydCwgdmEsIHBhcmFt KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgZG9tMF91cGRhdGVfcGh5 c21hcChkLCBQRk5fRE9XTigodmEpIC0gdmFfc3RhcnQpLCBwYXJhbSwgdnBoeXNtYXApOyAgICBc CisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAorfSkKKyAgICBTRVRfQU5EX01BUF9QQVJBTShIVk1f UEFSQU1fU1RPUkVfUEZOLCBzaS0+c3RvcmVfbWZuLCBzdG9yZV92YSk7CisgICAgU0VUX0FORF9N QVBfUEFSQU0oSFZNX1BBUkFNX1NUT1JFX0VWVENITiwgc2ktPnN0b3JlX2V2dGNobiwgMCk7Cisg ICAgaWYgKCAhcHZfY29uc29sZSApCisgICAgeworICAgICAgICBTRVRfQU5EX01BUF9QQVJBTShI Vk1fUEFSQU1fQ09OU09MRV9QRk4sIHNpLT5jb25zb2xlLmRvbVUubWZuLAorICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25zb2xlX3ZhKTsKKyAgICAgICAgU0VUX0FORF9NQVBfUEFSQU0oSFZN X1BBUkFNX0NPTlNPTEVfRVZUQ0hOLCBzaS0+Y29uc29sZS5kb21VLmV2dGNobiwgMCk7CisgICAg fQorI3VuZGVmIFNFVF9BTkRfTUFQX1BBUkFNCit9CisKIC8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6 CiAgKiBtb2RlOiBDCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2RvbTBfYnVpbGQu aCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tMF9idWlsZC5oCmluZGV4IDI1ZDEyNGY4ZDQuLjMz YTU0ODM3MzkgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tMF9idWlsZC5oCisr KyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tMF9idWlsZC5oCkBAIC0xLDYgKzEsNyBAQAogI2lm bmRlZiBfRE9NMF9CVUlMRF9IXwogI2RlZmluZSBfRE9NMF9CVUlMRF9IXwogCisjaW5jbHVkZSA8 eGVuL2xpYmVsZi5oPgogI2luY2x1ZGUgPHhlbi9zY2hlZC5oPgogCiAjaW5jbHVkZSA8YXNtL3Nl dHVwLmg+CkBAIC0yNyw2ICsyOCw5IEBAIGludCBkb20wX2NvbnN0cnVjdF9wdmgoc3RydWN0IGRv bWFpbiAqZCwgY29uc3QgbW9kdWxlX3QgKmltYWdlLAogdW5zaWduZWQgbG9uZyBkb20wX3BhZ2lu Z19wYWdlcyhjb25zdCBzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1bnNpZ25lZCBsb25nIG5yX3BhZ2VzKTsKIAordm9pZCBkb20wX3VwZGF0ZV9waHlz bWFwKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgcGZuLAorICAgICAgICAgICAgICAg ICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbWZuLCB1bnNpZ25lZCBsb25nIHZwaHlzbWFwX3MpOwor CiAjZW5kaWYJLyogX0RPTTBfQlVJTERfSF8gKi8KIAogLyoKZGlmZiAtLWdpdCBhL3hlbi9pbmNs dWRlL2FzbS14ODYvcHYvc2hpbS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wdi9zaGltLmgKaW5k ZXggMTQ2OGNmZDQ5OC4uYjBjMzYxY2JhMSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4 Ni9wdi9zaGltLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wdi9zaGltLmgKQEAgLTI5LDYg KzI5LDI3IEBAIGV4dGVybiBib29sIHB2X3NoaW07CiAjIGRlZmluZSBwdl9zaGltIDAKICNlbmRp ZiAvKiBDT05GSUdfUFZfU0hJTXssX0VYQ0xVU0lWRX0gKi8KIAorI2lmZGVmIENPTkZJR19QVl9T SElNCisKK3ZvaWQgcHZfc2hpbV9zZXR1cF9kb20oc3RydWN0IGRvbWFpbiAqZCwgbDRfcGdlbnRy eV90ICpsNHN0YXJ0LAorICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHZhX3N0 YXJ0LCB1bnNpZ25lZCBsb25nIHN0b3JlX3ZhLAorICAgICAgICAgICAgICAgICAgICAgICB1bnNp Z25lZCBsb25nIGNvbnNvbGVfdmEsIHVuc2lnbmVkIGxvbmcgdnBoeXNtYXAsCisgICAgICAgICAg ICAgICAgICAgICAgIHN0YXJ0X2luZm9fdCAqc2kpOworCisjZWxzZQorCitzdGF0aWMgaW5saW5l IHZvaWQgcHZfc2hpbV9zZXR1cF9kb20oc3RydWN0IGRvbWFpbiAqZCwgbDRfcGdlbnRyeV90ICps NHN0YXJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxv bmcgdmFfc3RhcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu ZWQgbG9uZyBzdG9yZV92YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 bnNpZ25lZCBsb25nIGNvbnNvbGVfdmEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgbG9uZyB2cGh5c21hcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdGFydF9pbmZvX3QgKnNpKQoreworICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgp OworfQorCisjZW5kaWYKKwogI2VuZGlmIC8qIF9fWDg2X1BWX1NISU1fSF9fICovCiAKIC8qCi0t IAoyLjExLjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpo dHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs