From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH v2 22/62] x86/guest: Hypercall support Date: Fri, 12 Jan 2018 11:28:30 +0000 Message-ID: <20180112112910.16762-23-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 us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eZxzi-0004aa-D6 for xen-devel@lists.xenproject.org; Fri, 12 Jan 2018 11:59:34 +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 RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KClNpZ25lZC1v ZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClNpZ25lZC1v ZmYtYnk6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Ci0tLQp2MjogYXBwZW5kIHVuZGVy c2NvcmVzIHRvIHRtcC4KLS0tCiB4ZW4vYXJjaC94ODYvZ3Vlc3QvTWFrZWZpbGUgICAgICAgICAg IHwgIDEgKwogeGVuL2FyY2gveDg2L2d1ZXN0L2h5cGVyY2FsbF9wYWdlLlMgICB8IDc5ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2FyY2gveDg2L2d1ZXN0L3hlbi5jICAgICAg ICAgICAgICB8ICA1ICsrCiB4ZW4vYXJjaC94ODYveGVuLmxkcy5TICAgICAgICAgICAgICAgIHwg IDEgKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9ndWVzdC5oICAgICAgICAgICB8ICAxICsKIHhlbi9p bmNsdWRlL2FzbS14ODYvZ3Vlc3QvaHlwZXJjYWxsLmggfCA5MiArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogNiBmaWxlcyBjaGFuZ2VkLCAxNzkgaW5zZXJ0aW9ucygrKQogY3Jl YXRlIG1vZGUgMTAwNjQ0IHhlbi9hcmNoL3g4Ni9ndWVzdC9oeXBlcmNhbGxfcGFnZS5TCiBjcmVh dGUgbW9kZSAxMDA2NDQgeGVuL2luY2x1ZGUvYXNtLXg4Ni9ndWVzdC9oeXBlcmNhbGwuaAoKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9ndWVzdC9NYWtlZmlsZSBiL3hlbi9hcmNoL3g4Ni9ndWVz dC9NYWtlZmlsZQppbmRleCAxMzQ1YTYwYzgxLi4yNmZiNGIxMDA3IDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvZ3Vlc3QvTWFrZWZpbGUKKysrIGIveGVuL2FyY2gveDg2L2d1ZXN0L01ha2VmaWxl CkBAIC0xLDMgKzEsNCBAQAorb2JqLXkgKz0gaHlwZXJjYWxsX3BhZ2Uubwogb2JqLXkgKz0geGVu Lm8KIAogb2JqLWJpbi0kKENPTkZJR19QVkhfR1VFU1QpICs9IHB2aC1ib290LmluaXQubwpkaWZm IC0tZ2l0IGEveGVuL2FyY2gveDg2L2d1ZXN0L2h5cGVyY2FsbF9wYWdlLlMgYi94ZW4vYXJjaC94 ODYvZ3Vlc3QvaHlwZXJjYWxsX3BhZ2UuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwLi5mZGQyZTcyMjcyCi0tLSAvZGV2L251bGwKKysrIGIveGVuL2FyY2gveDg2L2d1ZXN0 L2h5cGVyY2FsbF9wYWdlLlMKQEAgLTAsMCArMSw3OSBAQAorI2luY2x1ZGUgPGFzbS9wYWdlLmg+ CisjaW5jbHVkZSA8YXNtL2FzbV9kZWZucy5oPgorI2luY2x1ZGUgPHB1YmxpYy94ZW4uaD4KKwor ICAgICAgICAuc2VjdGlvbiAiLnRleHQucGFnZV9hbGlnbmVkIiwgImF4IiwgQHByb2diaXRzCisg ICAgICAgIC5wMmFsaWduIFBBR0VfU0hJRlQKKworR0xPQkFMKGh5cGVyY2FsbF9wYWdlKQorICAg ICAgICAgLyogUG9pc29uZWQgd2l0aCBgcmV0YCBmb3Igc2FmZXR5IGJlZm9yZSBoeXBlcmNhbGxz IGFyZSBzZXQgdXAuICovCisgICAgICAgIC5maWxsIFBBR0VfU0laRSwgMSwgMHhjMworICAgICAg ICAudHlwZSBoeXBlcmNhbGxfcGFnZSwgU1RUX09CSkVDVAorICAgICAgICAuc2l6ZSBoeXBlcmNh bGxfcGFnZSwgUEFHRV9TSVpFCisKKy8qCisgKiBJZGVudGlmeSBhIHNwZWNpZmljIGh5cGVyY2Fs bCBpbiB0aGUgaHlwZXJjYWxsIHBhZ2UKKyAqIEBwYXJhbSBuYW1lIEh5cGVyY2FsbCBuYW1lLgor ICovCisjZGVmaW5lIERFQ0xBUkVfSFlQRVJDQUxMKG5hbWUpICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLmdsb2JsIEhZUEVSQ0FMTF8g IyMgbmFtZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor ICAgICAgICAuc2V0ICAgSFlQRVJDQUxMXyAjIyBuYW1lLCBoeXBlcmNhbGxfcGFnZSArIF9fSFlQ RVJWSVNPUl8gIyMgbmFtZSAqIDMyOyBcCisgICAgICAgIC50eXBlICBIWVBFUkNBTExfICMjIG5h bWUsIFNUVF9GVU5DOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg ICAgLnNpemUgIEhZUEVSQ0FMTF8gIyMgbmFtZSwgMzIKKworREVDTEFSRV9IWVBFUkNBTEwoc2V0 X3RyYXBfdGFibGUpCitERUNMQVJFX0hZUEVSQ0FMTChtbXVfdXBkYXRlKQorREVDTEFSRV9IWVBF UkNBTEwoc2V0X2dkdCkKK0RFQ0xBUkVfSFlQRVJDQUxMKHN0YWNrX3N3aXRjaCkKK0RFQ0xBUkVf SFlQRVJDQUxMKHNldF9jYWxsYmFja3MpCitERUNMQVJFX0hZUEVSQ0FMTChmcHVfdGFza3N3aXRj aCkKK0RFQ0xBUkVfSFlQRVJDQUxMKHNjaGVkX29wX2NvbXBhdCkKK0RFQ0xBUkVfSFlQRVJDQUxM KHBsYXRmb3JtX29wKQorREVDTEFSRV9IWVBFUkNBTEwoc2V0X2RlYnVncmVnKQorREVDTEFSRV9I WVBFUkNBTEwoZ2V0X2RlYnVncmVnKQorREVDTEFSRV9IWVBFUkNBTEwodXBkYXRlX2Rlc2NyaXB0 b3IpCitERUNMQVJFX0hZUEVSQ0FMTChtZW1vcnlfb3ApCitERUNMQVJFX0hZUEVSQ0FMTChtdWx0 aWNhbGwpCitERUNMQVJFX0hZUEVSQ0FMTCh1cGRhdGVfdmFfbWFwcGluZykKK0RFQ0xBUkVfSFlQ RVJDQUxMKHNldF90aW1lcl9vcCkKK0RFQ0xBUkVfSFlQRVJDQUxMKGV2ZW50X2NoYW5uZWxfb3Bf Y29tcGF0KQorREVDTEFSRV9IWVBFUkNBTEwoeGVuX3ZlcnNpb24pCitERUNMQVJFX0hZUEVSQ0FM TChjb25zb2xlX2lvKQorREVDTEFSRV9IWVBFUkNBTEwocGh5c2Rldl9vcF9jb21wYXQpCitERUNM QVJFX0hZUEVSQ0FMTChncmFudF90YWJsZV9vcCkKK0RFQ0xBUkVfSFlQRVJDQUxMKHZtX2Fzc2lz dCkKK0RFQ0xBUkVfSFlQRVJDQUxMKHVwZGF0ZV92YV9tYXBwaW5nX290aGVyZG9tYWluKQorREVD TEFSRV9IWVBFUkNBTEwoaXJldCkKK0RFQ0xBUkVfSFlQRVJDQUxMKHZjcHVfb3ApCitERUNMQVJF X0hZUEVSQ0FMTChzZXRfc2VnbWVudF9iYXNlKQorREVDTEFSRV9IWVBFUkNBTEwobW11ZXh0X29w KQorREVDTEFSRV9IWVBFUkNBTEwoeHNtX29wKQorREVDTEFSRV9IWVBFUkNBTEwobm1pX29wKQor REVDTEFSRV9IWVBFUkNBTEwoc2NoZWRfb3ApCitERUNMQVJFX0hZUEVSQ0FMTChjYWxsYmFja19v cCkKK0RFQ0xBUkVfSFlQRVJDQUxMKHhlbm9wcm9mX29wKQorREVDTEFSRV9IWVBFUkNBTEwoZXZl bnRfY2hhbm5lbF9vcCkKK0RFQ0xBUkVfSFlQRVJDQUxMKHBoeXNkZXZfb3ApCitERUNMQVJFX0hZ UEVSQ0FMTChodm1fb3ApCitERUNMQVJFX0hZUEVSQ0FMTChzeXNjdGwpCitERUNMQVJFX0hZUEVS Q0FMTChkb21jdGwpCitERUNMQVJFX0hZUEVSQ0FMTChrZXhlY19vcCkKK0RFQ0xBUkVfSFlQRVJD QUxMKHRtZW1fb3ApCitERUNMQVJFX0hZUEVSQ0FMTCh4Y19yZXNlcnZlZF9vcCkKK0RFQ0xBUkVf SFlQRVJDQUxMKHhlbnBtdV9vcCkKKworREVDTEFSRV9IWVBFUkNBTEwoYXJjaF8wKQorREVDTEFS RV9IWVBFUkNBTEwoYXJjaF8xKQorREVDTEFSRV9IWVBFUkNBTEwoYXJjaF8yKQorREVDTEFSRV9I WVBFUkNBTEwoYXJjaF8zKQorREVDTEFSRV9IWVBFUkNBTEwoYXJjaF80KQorREVDTEFSRV9IWVBF UkNBTEwoYXJjaF81KQorREVDTEFSRV9IWVBFUkNBTEwoYXJjaF82KQorREVDTEFSRV9IWVBFUkNB TEwoYXJjaF83KQorCisvKgorICogTG9jYWwgdmFyaWFibGVzOgorICogdGFiLXdpZHRoOiA4Cisg KiBpbmRlbnQtdGFicy1tb2RlOiBuaWwKKyAqIEVuZDoKKyAqLwpkaWZmIC0tZ2l0IGEveGVuL2Fy Y2gveDg2L2d1ZXN0L3hlbi5jIGIveGVuL2FyY2gveDg2L2d1ZXN0L3hlbi5jCmluZGV4IDg1MDc3 NTc4NDEuLjEwYjkwZDBmNjEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9ndWVzdC94ZW4uYwor KysgYi94ZW4vYXJjaC94ODYvZ3Vlc3QveGVuLmMKQEAgLTIyLDYgKzIyLDcgQEAKICNpbmNsdWRl IDx4ZW4vdHlwZXMuaD4KIAogI2luY2x1ZGUgPGFzbS9ndWVzdC5oPgorI2luY2x1ZGUgPGFzbS9t c3IuaD4KICNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CiAKICNpbmNsdWRlIDxwdWJsaWMvYXJj aC14ODYvY3B1aWQuaD4KQEAgLTI5LDYgKzMwLDcgQEAKIGJvb2wgX19yZWFkX21vc3RseSB4ZW5f Z3Vlc3Q7CiAKIHN0YXRpYyBfX3JlYWRfbW9zdGx5IHVpbnQzMl90IHhlbl9jcHVpZF9iYXNlOwor ZXh0ZXJuIGNoYXIgaHlwZXJjYWxsX3BhZ2VbXTsKIAogc3RhdGljIHZvaWQgX19pbml0IGZpbmRf eGVuX2xlYXZlcyh2b2lkKQogewpAQCAtNjEsNiArNjMsOSBAQCB2b2lkIF9faW5pdCBwcm9iZV9o eXBlcnZpc29yKHZvaWQpCiAgICAgaWYgKCAheGVuX2NwdWlkX2Jhc2UgKQogICAgICAgICByZXR1 cm47CiAKKyAgICAvKiBGaWxsIHRoZSBoeXBlcmNhbGwgcGFnZS4gKi8KKyAgICB3cm1zcmwoY3B1 aWRfZWJ4KHhlbl9jcHVpZF9iYXNlICsgMiksIF9fcGEoaHlwZXJjYWxsX3BhZ2UpKTsKKwogICAg IHhlbl9ndWVzdCA9IHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ZW4ubGRz LlMgYi94ZW4vYXJjaC94ODYveGVuLmxkcy5TCmluZGV4IDIwMjNmOTcxZTQuLjUwOWYxNzY5MTMg MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni94ZW4ubGRzLlMKKysrIGIveGVuL2FyY2gveDg2L3hl bi5sZHMuUwpAQCAtNjUsNiArNjUsNyBAQCBTRUNUSU9OUwogICBERUNMX1NFQ1RJT04oLnRleHQp IHsKICAgICAgICAgX3N0ZXh0ID0gLjsgICAgICAgICAgICAvKiBUZXh0IGFuZCByZWFkLW9ubHkg ZGF0YSAqLwogICAgICAgICooLnRleHQpCisgICAgICAgKigudGV4dC5wYWdlX2FsaWduZWQpCiAg ICAgICAgKigudGV4dC5jb2xkKQogICAgICAgICooLnRleHQudW5saWtlbHkpCiAgICAgICAgKigu Zml4dXApCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2d1ZXN0LmggYi94ZW4vaW5j bHVkZS9hc20teDg2L2d1ZXN0LmgKaW5kZXggOGQ5MWY4MTQ1MS4uNWFiZGI4YzQzMyAxMDA2NDQK LS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9ndWVzdC5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14 ODYvZ3Vlc3QuaApAQCAtMTksNiArMTksNyBAQAogI2lmbmRlZiBfX1g4Nl9HVUVTVF9IX18KICNk ZWZpbmUgX19YODZfR1VFU1RfSF9fCiAKKyNpbmNsdWRlIDxhc20vZ3Vlc3QvaHlwZXJjYWxsLmg+ CiAjaW5jbHVkZSA8YXNtL2d1ZXN0L3B2aC1ib290Lmg+CiAjaW5jbHVkZSA8YXNtL2d1ZXN0L3hl bi5oPgogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2d1ZXN0L2h5cGVyY2FsbC5o IGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9ndWVzdC9oeXBlcmNhbGwuaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwLi5kOTU5YzNkZDhhCi0tLSAvZGV2L251bGwKKysrIGIveGVu L2luY2x1ZGUvYXNtLXg4Ni9ndWVzdC9oeXBlcmNhbGwuaApAQCAtMCwwICsxLDkyIEBACisvKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqCisgKiBhc20teDg2L2d1ZXN0L2h5cGVyY2FsbC5oCisgKgorICog VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlLCB2ZXJzaW9uIDIsIGFzIHB1Ymxpc2hlZCBi eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJ VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK KyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUgR05VCisgKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu CisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBJZiBub3QsIHNl ZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKgorICogQ29weXJpZ2h0IChjKSAy MDE3IENpdHJpeCBTeXN0ZW1zIEx0ZC4KKyAqLworCisjaWZuZGVmIF9fWDg2X1hFTl9IWVBFUkNB TExfSF9fCisjZGVmaW5lIF9fWDg2X1hFTl9IWVBFUkNBTExfSF9fCisKKyNpZmRlZiBDT05GSUdf WEVOX0dVRVNUCisKKy8qCisgKiBIeXBlcmNhbGwgcHJpbWF0aXZlcyBmb3IgNjRiaXQKKyAqCisg KiBJbnB1dHM6ICVyZGksICVyc2ksICVyZHgsICVyMTAsICVyOCwgJXI5IChhcmd1bWVudHMgMS02 KQorICovCisKKyNkZWZpbmUgX2h5cGVyY2FsbDY0XzEodHlwZSwgaGNhbGwsIGExKSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAoeyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgbG9u ZyByZXMsIHRtcF9fOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKKyAgICAgICAgYXNtIHZvbGF0aWxlICggICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICJjYWxsIGh5cGVyY2FsbF9wYWdl ICsgJWNbb2Zmc2V0XSIgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIDog Ij1hIiAocmVzKSwgIj1EIiAodG1wX18pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKKyAgICAgICAgICAgIDogW29mZnNldF0gImkiIChoY2FsbCAqIDMyKSwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgIjEiICgobG9uZykoYTEpKSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIDogIm1l bW9yeSIgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK KyAgICAgICAgKHR5cGUpcmVzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKKyAgICB9KQorCisjZGVmaW5lIF9oeXBlcmNhbGw2NF8yKHR5cGUs IGhjYWxsLCBhMSwgYTIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKHsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCisgICAgICAgIGxvbmcgcmVzLCB0bXBfXzsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGFzbSB2b2xhdGlsZSAoICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAi Y2FsbCBoeXBlcmNhbGxfcGFnZSArICVjW29mZnNldF0iICAgICAgICAgICAgICAgICAgICAgICAg ICBcCisgICAgICAgICAgICA6ICI9YSIgKHJlcyksICI9RCIgKHRtcF9fKSwgIj1TIiAodG1wX18p ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICA6IFtvZmZzZXRdICJpIiAoaGNhbGwg KiAzMiksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICIx IiAoKGxvbmcpKGExKSksICIyIiAoKGxvbmcpKGEyKSkgICAgICAgICAgICAgICAgICAgICAgICBc CisgICAgICAgICAgICA6ICJtZW1vcnkiICk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCisgICAgICAgICh0eXBlKXJlczsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfSkKKworI2RlZmluZSBf aHlwZXJjYWxsNjRfMyh0eXBlLCBoY2FsbCwgYTEsIGEyLCBhMykgICAgICAgICAgICAgICAgICAg ICAgICAgXAorICAgICh7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBsb25nIHJlcywgdG1wX187ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBhc20g dm9sYXRpbGUgKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXAorICAgICAgICAgICAgImNhbGwgaHlwZXJjYWxsX3BhZ2UgKyAlY1tvZmZzZXRdIiAgICAg ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgOiAiPWEiIChyZXMpLCAiPUQiICh0 bXBfXyksICI9UyIgKHRtcF9fKSwgIj1kIiAodG1wX18pICAgICAgXAorICAgICAgICAgICAgOiBb b2Zmc2V0XSAiaSIgKGhjYWxsICogMzIpLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XAorICAgICAgICAgICAgICAiMSIgKChsb25nKShhMSkpLCAiMiIgKChsb25nKShhMikpLCAiMyIg KChsb25nKShhMykpICAgICAgXAorICAgICAgICAgICAgOiAibWVtb3J5IiApOyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAodHlwZSlyZXM7 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor ICAgIH0pCisKKyNkZWZpbmUgX2h5cGVyY2FsbDY0XzQodHlwZSwgaGNhbGwsIGExLCBhMiwgYTMs IGE0KSAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAoeyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgbG9u ZyByZXMsIHRtcF9fOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKKyAgICAgICAgcmVnaXN0ZXIgbG9uZyBfYTQgYXNtICgicjEwIikgPSAoKGxvbmcpKGE0 KSk7ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgYXNtIHZvbGF0aWxlICggICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICJj YWxsIGh5cGVyY2FsbF9wYWdlICsgJWNbb2Zmc2V0XSIgICAgICAgICAgICAgICAgICAgICAgICAg IFwKKyAgICAgICAgICAgIDogIj1hIiAocmVzKSwgIj1EIiAodG1wX18pLCAiPVMiICh0bXBfXyks ICI9ZCIgKHRtcF9fKSwgICAgIFwKKyAgICAgICAgICAgICAgIj0mciIgKHRtcF9fKSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIDogW29m ZnNldF0gImkiIChoY2FsbCAqIDMyKSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK KyAgICAgICAgICAgICAgIjEiICgobG9uZykoYTEpKSwgIjIiICgobG9uZykoYTIpKSwgIjMiICgo bG9uZykoYTMpKSwgICAgIFwKKyAgICAgICAgICAgICAgIjQiIChfYTQpICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIDogIm1lbW9y eSIgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg ICAgICAgKHR5cGUpcmVzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKKyAgICB9KQorCisjZW5kaWYgLyogQ09ORklHX1hFTl9HVUVTVCAqLwor I2VuZGlmIC8qIF9fWDg2X1hFTl9IWVBFUkNBTExfSF9fICovCisKKy8qCisgKiBMb2NhbCB2YXJp YWJsZXM6CisgKiBtb2RlOiBDCisgKiBjLWZpbGUtc3R5bGU6ICJCU0QiCisgKiBjLWJhc2ljLW9m ZnNldDogNAorICogdGFiLXdpZHRoOiA0CisgKiBpbmRlbnQtdGFicy1tb2RlOiBuaWwKKyAqIEVu ZDoKKyAqLwotLSAKMi4xMS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJv amVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hl bi1kZXZlbA==