From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH RFC v1 53/74] xen/pvshim: modify Dom0 builder in order to build a DomU Date: Thu, 4 Jan 2018 13:06:04 +0000 Message-ID: <20180104130625.28605-54-wei.liu2@citrix.com> References: <20180104130625.28605-1-wei.liu2@citrix.com> 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.84_2) (envelope-from ) id 1eX5a0-0004nC-40 for xen-devel@lists.xenproject.org; Thu, 04 Jan 2018 13:29:08 +0000 In-Reply-To: <20180104130625.28605-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 LiBGaXggdGhpcwphbmQgYWRkIHRoZSBwYWdlcyB0byB0aGUgcDJtL20ycCBhZnRlciB0aGUgc3Rh cnRfaW5mbyBwYWdlIGFsc28uCgpBbHNvIHNldCB0aGUgY29ycmVjdCB2YWx1ZXMgaW4gdGhlIHN0 YXJ0X2luZm8gZm9yIERvbVUgb3BlcmF0aW9uLgoKU2lnbmVkLW9mZi1ieTogUm9nZXIgUGF1IE1v bm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+Ci0tLQogeGVuL2FyY2gveDg2L3B2L2RvbTBfYnVp bGQuYyAgICAgfCAzOCArKysrKysrKysrKysrKysrKystLS0tLQogeGVuL2FyY2gveDg2L3B2L3No aW0uYyAgICAgICAgICAgfCA2NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCiB4ZW4vaW5jbHVkZS9hc20teDg2L2RvbTBfYnVpbGQuaCB8ICA0ICsrKwogeGVuL2luY2x1 ZGUvYXNtLXg4Ni9wdi9zaGltLmggICAgfCAyMSArKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5n ZWQsIDEyMSBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni9wdi9kb20wX2J1aWxkLmMgYi94ZW4vYXJjaC94ODYvcHYvZG9tMF9idWlsZC5jCmlu ZGV4IDk1MzQ3YzZmZDIuLmUxNTJmZTNhOWUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wdi9k b20wX2J1aWxkLmMKKysrIGIveGVuL2FyY2gveDg2L3B2L2RvbTBfYnVpbGQuYwpAQCAtMzEsOSAr MzEsOCBAQAogI2RlZmluZSBMM19QUk9UIChCQVNFX1BST1R8X1BBR0VfRElSVFkpCiAjZGVmaW5l IEw0X1BST1QgKEJBU0VfUFJPVHxfUEFHRV9ESVJUWSkKIAotc3RhdGljIF9faW5pdCB2b2lkIGRv bTBfdXBkYXRlX3BoeXNtYXAoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBwZm4sCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG1mbiwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgdnBo eXNtYXBfcykKK19faW5pdCB2b2lkIGRvbTBfdXBkYXRlX3BoeXNtYXAoc3RydWN0IGRvbWFpbiAq ZCwgdW5zaWduZWQgbG9uZyBwZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGxvbmcgbWZuLCB1bnNpZ25lZCBsb25nIHZwaHlzbWFwX3MpCiB7CiAgICAgaWYgKCAh aXNfcHZfMzJiaXRfZG9tYWluKGQpICkKICAgICAgICAgKCh1bnNpZ25lZCBsb25nICopdnBoeXNt YXBfcylbcGZuXSA9IG1mbjsKQEAgLTMxNiw2ICszMTUsMTAgQEAgaW50IF9faW5pdCBkb20wX2Nv bnN0cnVjdF9wdihzdHJ1Y3QgZG9tYWluICpkLAogICAgIHVuc2lnbmVkIGxvbmcgdnBoeXNtYXBf ZW5kOwogICAgIHVuc2lnbmVkIGxvbmcgdnN0YXJ0aW5mb19zdGFydDsKICAgICB1bnNpZ25lZCBs b25nIHZzdGFydGluZm9fZW5kOworICAgIHVuc2lnbmVkIGxvbmcgdnhlbnN0b3JlX3N0YXJ0ID0g MDsKKyAgICB1bnNpZ25lZCBsb25nIHZ4ZW5zdG9yZV9lbmQgPSAwOworICAgIHVuc2lnbmVkIGxv bmcgdmNvbnNvbGVfc3RhcnQgPSAwOworICAgIHVuc2lnbmVkIGxvbmcgdmNvbnNvbGVfZW5kID0g MDsKICAgICB1bnNpZ25lZCBsb25nIHZzdGFja19zdGFydDsKICAgICB1bnNpZ25lZCBsb25nIHZz dGFja19lbmQ7CiAgICAgdW5zaWduZWQgbG9uZyB2cHRfc3RhcnQ7CkBAIC00NDMsOSArNDQ2LDE4 IEBAIGludCBfX2luaXQgZG9tMF9jb25zdHJ1Y3RfcHYoc3RydWN0IGRvbWFpbiAqZCwKICAgICB2 c3RhcnRpbmZvX3N0YXJ0ID0gcm91bmRfcGd1cCh2cGh5c21hcF9lbmQpOwogICAgIHZzdGFydGlu Zm9fZW5kICAgPSAodnN0YXJ0aW5mb19zdGFydCArCiAgICAgICAgICAgICAgICAgICAgICAgICBz aXplb2Yoc3RydWN0IHN0YXJ0X2luZm8pICsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNpemVv ZihzdHJ1Y3QgZG9tMF92Z2FfY29uc29sZV9pbmZvKSk7CisgICAgICAgICAgICAgICAgICAgICAg ICAocHZfc2hpbSA/IDAgOiBzaXplb2Yoc3RydWN0IGRvbTBfdmdhX2NvbnNvbGVfaW5mbykpKTsK IAotICAgIHZwdF9zdGFydCAgICAgICAgPSByb3VuZF9wZ3VwKHZzdGFydGluZm9fZW5kKTsKKyAg ICBpZiAoIHB2X3NoaW0gKQorICAgIHsKKyAgICAgICAgdnhlbnN0b3JlX3N0YXJ0ICA9IHJvdW5k X3BndXAodnN0YXJ0aW5mb19lbmQpOworICAgICAgICB2eGVuc3RvcmVfZW5kICAgID0gdnhlbnN0 b3JlX3N0YXJ0ICsgUEFHRV9TSVpFOworICAgICAgICB2Y29uc29sZV9zdGFydCAgID0gdnhlbnN0 b3JlX2VuZDsKKyAgICAgICAgdmNvbnNvbGVfZW5kICAgICA9IHZjb25zb2xlX3N0YXJ0ICsgUEFH RV9TSVpFOworICAgICAgICB2cHRfc3RhcnQgICAgICAgID0gdmNvbnNvbGVfZW5kOworICAgIH0K KyAgICBlbHNlCisgICAgICAgIHZwdF9zdGFydCAgICAgICAgPSByb3VuZF9wZ3VwKHZzdGFydGlu Zm9fZW5kKTsKICAgICBmb3IgKCBucl9wdF9wYWdlcyA9IDI7IDsgbnJfcHRfcGFnZXMrKyApCiAg ICAgewogICAgICAgICB2cHRfZW5kICAgICAgICAgID0gdnB0X3N0YXJ0ICsgKG5yX3B0X3BhZ2Vz ICogUEFHRV9TSVpFKTsKQEAgLTUzOCw2ICs1NTAsOCBAQCBpbnQgX19pbml0IGRvbTBfY29uc3Ry dWN0X3B2KHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICIgSW5pdC4gcmFtZGlzazogJXAt PiVwXG4iCiAgICAgICAgICAgICIgUGh5cy1NYWNoIG1hcDogJXAtPiVwXG4iCiAgICAgICAgICAg ICIgU3RhcnQgaW5mbzogICAgJXAtPiVwXG4iCisgICAgICAgICAgICIgWGVuc3RvcmUgcmluZzog JXAtPiVwXG4iCisgICAgICAgICAgICIgQ29uc29sZSByaW5nOiAgJXAtPiVwXG4iCiAgICAgICAg ICAgICIgUGFnZSB0YWJsZXM6ICAgJXAtPiVwXG4iCiAgICAgICAgICAgICIgQm9vdCBzdGFjazog ICAgJXAtPiVwXG4iCiAgICAgICAgICAgICIgVE9UQUw6ICAgICAgICAgJXAtPiVwXG4iLApAQCAt NTQ1LDYgKzU1OSw4IEBAIGludCBfX2luaXQgZG9tMF9jb25zdHJ1Y3RfcHYoc3RydWN0IGRvbWFp biAqZCwKICAgICAgICAgICAgX3AodmluaXRyZF9zdGFydCksIF9wKHZpbml0cmRfZW5kKSwKICAg ICAgICAgICAgX3AodnBoeXNtYXBfc3RhcnQpLCBfcCh2cGh5c21hcF9lbmQpLAogICAgICAgICAg ICBfcCh2c3RhcnRpbmZvX3N0YXJ0KSwgX3AodnN0YXJ0aW5mb19lbmQpLAorICAgICAgICAgICBf cCh2eGVuc3RvcmVfc3RhcnQpLCBfcCh2eGVuc3RvcmVfZW5kKSwKKyAgICAgICAgICAgX3AodmNv bnNvbGVfc3RhcnQpLCBfcCh2Y29uc29sZV9lbmQpLAogICAgICAgICAgICBfcCh2cHRfc3RhcnQp LCBfcCh2cHRfZW5kKSwKICAgICAgICAgICAgX3AodnN0YWNrX3N0YXJ0KSwgX3AodnN0YWNrX2Vu ZCksCiAgICAgICAgICAgIF9wKHZfc3RhcnQpLCBfcCh2X2VuZCkpOwpAQCAtNzM4LDcgKzc1NCw4 IEBAIGludCBfX2luaXQgZG9tMF9jb25zdHJ1Y3RfcHYoc3RydWN0IGRvbWFpbiAqZCwKIAogICAg IHNpLT5zaGFyZWRfaW5mbyA9IHZpcnRfdG9fbWFkZHIoZC0+c2hhcmVkX2luZm8pOwogCi0gICAg c2ktPmZsYWdzICAgICAgICA9IFNJRl9QUklWSUxFR0VEIHwgU0lGX0lOSVRET01BSU47CisgICAg aWYgKCAhcHZfc2hpbSApCisgICAgICAgIHNpLT5mbGFncyAgICA9IFNJRl9QUklWSUxFR0VEIHwg U0lGX0lOSVRET01BSU47CiAgICAgaWYgKCAhdmluaXRyZF9zdGFydCAmJiBpbml0cmRfbGVuICkK ICAgICAgICAgc2ktPmZsYWdzICAgfD0gU0lGX01PRF9TVEFSVF9QRk47CiAgICAgc2ktPmZsYWdz ICAgICAgIHw9ICh4ZW5fcHJvY2Vzc29yX3BtYml0cyA8PCA4KSAmIFNJRl9QTV9NQVNLOwpAQCAt ODMwLDE1ICs4NDcsMjAgQEAgaW50IF9faW5pdCBkb20wX2NvbnN0cnVjdF9wdihzdHJ1Y3QgZG9t YWluICpkLAogICAgICAgICBzdHJsY3B5KChjaGFyICopc2ktPmNtZF9saW5lLCBjbWRsaW5lLCBz aXplb2Yoc2ktPmNtZF9saW5lKSk7CiAKICNpZmRlZiBDT05GSUdfVklERU8KLSAgICBpZiAoIGZp bGxfY29uc29sZV9zdGFydF9pbmZvKCh2b2lkICopKHNpICsgMSkpICkKKyAgICBpZiAoICFwdl9z aGltICYmIGZpbGxfY29uc29sZV9zdGFydF9pbmZvKCh2b2lkICopKHNpICsgMSkpICkKICAgICB7 CiAgICAgICAgIHNpLT5jb25zb2xlLmRvbTAuaW5mb19vZmYgID0gc2l6ZW9mKHN0cnVjdCBzdGFy dF9pbmZvKTsKICAgICAgICAgc2ktPmNvbnNvbGUuZG9tMC5pbmZvX3NpemUgPSBzaXplb2Yoc3Ry dWN0IGRvbTBfdmdhX2NvbnNvbGVfaW5mbyk7CiAgICAgfQogI2VuZGlmCiAKKyAgICBpZiAoIHB2 X3NoaW0gKQorICAgICAgICBwdl9zaGltX3NldHVwX2RvbShkLCBsNHN0YXJ0LCB2X3N0YXJ0LCB2 eGVuc3RvcmVfc3RhcnQsIHZjb25zb2xlX3N0YXJ0LAorICAgICAgICAgICAgICAgICAgICAgICAg ICB2cGh5c21hcF9zdGFydCwgc2kpOworCiAgICAgaWYgKCBpc19wdl8zMmJpdF9kb21haW4oZCkg KQotICAgICAgICB4bGF0X3N0YXJ0X2luZm8oc2ksIFhMQVRfc3RhcnRfaW5mb19jb25zb2xlX2Rv bTApOworICAgICAgICB4bGF0X3N0YXJ0X2luZm8oc2ksIHB2X3NoaW0gPyBYTEFUX3N0YXJ0X2lu Zm9fY29uc29sZV9kb21VCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFhM QVRfc3RhcnRfaW5mb19jb25zb2xlX2RvbTApOwogCiAgICAgLyogUmV0dXJuIHRvIGlkbGUgZG9t YWluJ3MgcGFnZSB0YWJsZXMuICovCiAgICAgbWFwY2FjaGVfb3ZlcnJpZGVfY3VycmVudChOVUxM KTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9wdi9zaGltLmMgYi94ZW4vYXJjaC94ODYvcHYv c2hpbS5jCmluZGV4IDRkMDM3MzU1ZGIuLjVlN2U0NjYzMmIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo L3g4Ni9wdi9zaGltLmMKKysrIGIveGVuL2FyY2gveDg2L3B2L3NoaW0uYwpAQCAtMTgsMTYgKzE4 LDgyIEBACiAgKgogICogQ29weXJpZ2h0IChjKSAyMDE3IENpdHJpeCBTeXN0ZW1zIEx0ZC4KICAq LworI2luY2x1ZGUgPHhlbi9oeXBlcmNhbGwuaD4KICNpbmNsdWRlIDx4ZW4vaW5pdC5oPgogI2lu Y2x1ZGUgPHhlbi90eXBlcy5oPgogCiAjaW5jbHVkZSA8YXNtL2FwaWMuaD4KKyNpbmNsdWRlIDxh c20vZG9tMF9idWlsZC5oPgorI2luY2x1ZGUgPGFzbS9ndWVzdC5oPgorI2luY2x1ZGUgPGFzbS9w di9tbS5oPgogCiAjaWZuZGVmIENPTkZJR19QVl9TSElNX0VYQ0xVU0lWRQogYm9vbCBwdl9zaGlt OwogYm9vbGVhbl9wYXJhbSgicHYtc2hpbSIsIHB2X3NoaW0pOwogI2VuZGlmCiAKKyNkZWZpbmUg TDFfUFJPVCAoX1BBR0VfUFJFU0VOVHxfUEFHRV9SV3xfUEFHRV9BQ0NFU1NFRHxfUEFHRV9VU0VS fCBcCisgICAgICAgICAgICAgICAgIF9QQUdFX0dVRVNUX0tFUk5FTCkKKyNkZWZpbmUgQ09NUEFU X0wxX1BST1QgKF9QQUdFX1BSRVNFTlR8X1BBR0VfUld8X1BBR0VfQUNDRVNTRUQpCisKK3N0YXRp YyB2b2lkIF9faW5pdCByZXBsYWNlX3ZhKHN0cnVjdCBkb21haW4gKmQsIGw0X3BnZW50cnlfdCAq bDRzdGFydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgdmEs IHVuc2lnbmVkIGxvbmcgbWZuKQoreworICAgIHN0cnVjdCBwYWdlX2luZm8gKnBhZ2U7CisgICAg bDRfcGdlbnRyeV90ICpwbDRlOworICAgIGwzX3BnZW50cnlfdCAqcGwzZTsKKyAgICBsMl9wZ2Vu dHJ5X3QgKnBsMmU7CisgICAgbDFfcGdlbnRyeV90ICpwbDFlOworCisgICAgcGw0ZSA9IGw0c3Rh cnQgKyBsNF90YWJsZV9vZmZzZXQodmEpOworICAgIHBsM2UgPSBsNGVfdG9fbDNlKCpwbDRlKTsK KyAgICBwbDNlICs9IGwzX3RhYmxlX29mZnNldCh2YSk7CisgICAgcGwyZSA9IGwzZV90b19sMmUo KnBsM2UpOworICAgIHBsMmUgKz0gbDJfdGFibGVfb2Zmc2V0KHZhKTsKKyAgICBwbDFlID0gbDJl X3RvX2wxZSgqcGwyZSk7CisgICAgcGwxZSArPSBsMV90YWJsZV9vZmZzZXQodmEpOworCisgICAg cGFnZSA9IG1mbl90b19wYWdlKGwxZV9nZXRfcGZuKCpwbDFlKSk7CisgICAgLyogRnJlZSBvcmln aW5hbCBwYWdlLCB3aWxsIGJlIHJlcGxhY2VkICovCisgICAgcHV0X3BhZ2VfYW5kX3R5cGUocGFn ZSk7CisgICAgZnJlZV9kb21oZWFwX3BhZ2VzKHBhZ2UsIDApOworCisgICAgKnBsMWUgPSBsMWVf ZnJvbV9wZm4obWZuLCAoIWlzX3B2XzMyYml0X2RvbWFpbihkKSA/IEwxX1BST1QKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogQ09NUEFUX0wx X1BST1QpKTsKK30KKwordm9pZCBfX2luaXQgcHZfc2hpbV9zZXR1cF9kb20oc3RydWN0IGRvbWFp biAqZCwgbDRfcGdlbnRyeV90ICpsNHN0YXJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdW5zaWduZWQgbG9uZyB2YV9zdGFydCwgdW5zaWduZWQgbG9uZyBzdG9yZV92YSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgY29uc29sZV92YSwgdW5zaWdu ZWQgbG9uZyB2cGh5c21hcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0X2lu Zm9fdCAqc2kpCit7CisgICAgdWludDY0X3QgcGFyYW0gPSAwOworICAgIGxvbmcgcmM7CisKKyNk ZWZpbmUgU0VUX0FORF9NQVBfUEFSQU0ocCwgc2ksIHZhKSAoeyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCisgICAgcmMgPSB4ZW5faHlwZXJjYWxsX2h2bV9nZXRfcGFy YW0ocCwgJnBhcmFtKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGlmICgg cmMgKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKKyAgICAgICAgcGFuaWMoIlVuYWJsZSB0byBnZXQgIiAjcCAiXG4iKTsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKHNpKSA9IHBhcmFt OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAorICAgIGlmICggdmEgKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc CisgICAgICAgIEJVR19PTih1bnNoYXJlX3hlbl9wYWdlX3dpdGhfZ3Vlc3QobWZuX3RvX3BhZ2Uo cGFyYW0pLCBkb21faW8pKTsgICAgICAgXAorICAgICAgICBzaGFyZV94ZW5fcGFnZV93aXRoX2d1 ZXN0KG1mbl90b19wYWdlKHBhcmFtKSwgZCwgWEVOU0hBUkVfd3JpdGFibGUpOyAgIFwKKyAgICAg ICAgcmVwbGFjZV92YShkLCBsNHN0YXJ0LCB2YSwgcGFyYW0pOyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCisgICAgICAgIGRvbTBfdXBkYXRlX3BoeXNtYXAoZCwgKHZhIC0g dmFfc3RhcnQpID4+IFBBR0VfU0hJRlQsIHBhcmFtLCB2cGh5c21hcCk7XAorICAgIH0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKK30pCisgICAgU0VUX0FORF9NQVBfUEFSQU0oSFZNX1BBUkFNX1NUT1JFX1BG Tiwgc2ktPnN0b3JlX21mbiwgc3RvcmVfdmEpOworICAgIFNFVF9BTkRfTUFQX1BBUkFNKEhWTV9Q QVJBTV9TVE9SRV9FVlRDSE4sIHNpLT5zdG9yZV9ldnRjaG4sIDApOworICAgIGlmICggIXB2X2Nv bnNvbGUgKQorICAgIHsKKyAgICAgICAgU0VUX0FORF9NQVBfUEFSQU0oSFZNX1BBUkFNX0NPTlNP TEVfUEZOLCBzaS0+Y29uc29sZS5kb21VLm1mbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc29sZV92YSk7CisgICAgICAgIFNFVF9BTkRfTUFQX1BBUkFNKEhWTV9QQVJBTV9DT05TT0xF X0VWVENITiwgc2ktPmNvbnNvbGUuZG9tVS5ldnRjaG4sIDApOworICAgIH0KKyN1bmRlZiBTRVRf QU5EX01BUF9QQVJBTQorfQorCiAvKgogICogTG9jYWwgdmFyaWFibGVzOgogICogbW9kZTogQwpk aWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb20wX2J1aWxkLmggYi94ZW4vaW5jbHVk ZS9hc20teDg2L2RvbTBfYnVpbGQuaAppbmRleCBkODNkMmI0Mzg3Li5kOTg1NDA2NTAzIDEwMDY0 NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2RvbTBfYnVpbGQuaAorKysgYi94ZW4vaW5jbHVk ZS9hc20teDg2L2RvbTBfYnVpbGQuaApAQCAtMSw2ICsxLDcgQEAKICNpZm5kZWYgX0RPTTBfQlVJ TERfSF8KICNkZWZpbmUgX0RPTTBfQlVJTERfSF8KIAorI2luY2x1ZGUgPHhlbi9saWJlbGYuaD4K ICNpbmNsdWRlIDx4ZW4vc2NoZWQuaD4KIAogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgpAQCAtMjks NiArMzAsOSBAQCBpbnQgZG9tMF9jb25zdHJ1Y3RfcHZoKHN0cnVjdCBkb21haW4gKmQsIGNvbnN0 IG1vZHVsZV90ICppbWFnZSwKIHVuc2lnbmVkIGxvbmcgZG9tMF9wYWdpbmdfcGFnZXMoY29uc3Qg c3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu ZWQgbG9uZyBucl9wYWdlcyk7CiAKK3ZvaWQgZG9tMF91cGRhdGVfcGh5c21hcChzdHJ1Y3QgZG9t YWluICpkLCB1bnNpZ25lZCBsb25nIHBmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp Z25lZCBsb25nIG1mbiwgdW5zaWduZWQgbG9uZyB2cGh5c21hcF9zKTsKKwogI2VuZGlmCS8qIF9E T00wX0JVSUxEX0hfICovCiAKIC8qCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3B2 L3NoaW0uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcHYvc2hpbS5oCmluZGV4IDE0NjhjZmQ0OTgu LmIwYzM2MWNiYTEgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcHYvc2hpbS5oCisr KyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcHYvc2hpbS5oCkBAIC0yOSw2ICsyOSwyNyBAQCBleHRl cm4gYm9vbCBwdl9zaGltOwogIyBkZWZpbmUgcHZfc2hpbSAwCiAjZW5kaWYgLyogQ09ORklHX1BW X1NISU17LF9FWENMVVNJVkV9ICovCiAKKyNpZmRlZiBDT05GSUdfUFZfU0hJTQorCit2b2lkIHB2 X3NoaW1fc2V0dXBfZG9tKHN0cnVjdCBkb21haW4gKmQsIGw0X3BnZW50cnlfdCAqbDRzdGFydCwK KyAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyB2YV9zdGFydCwgdW5zaWduZWQg bG9uZyBzdG9yZV92YSwKKyAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBjb25z b2xlX3ZhLCB1bnNpZ25lZCBsb25nIHZwaHlzbWFwLAorICAgICAgICAgICAgICAgICAgICAgICBz dGFydF9pbmZvX3QgKnNpKTsKKworI2Vsc2UKKworc3RhdGljIGlubGluZSB2b2lkIHB2X3NoaW1f c2V0dXBfZG9tKHN0cnVjdCBkb21haW4gKmQsIGw0X3BnZW50cnlfdCAqbDRzdGFydCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHZhX3N0YXJ0LAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgc3RvcmVf dmEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBj b25zb2xlX3ZhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGxvbmcgdnBoeXNtYXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rh cnRfaW5mb190ICpzaSkKK3sKKyAgICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKK30KKworI2VuZGlm CisKICNlbmRpZiAvKiBfX1g4Nl9QVl9TSElNX0hfXyAqLwogCiAvKgotLSAKMi4xMS4wCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54 ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==