From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: Re: [PATCH v5] x86/monitor: Notify monitor if an emulation fails. Date: Tue, 18 Jul 2017 07:58:40 +0000 Message-ID: References: <1500310038-7969-1-git-send-email-ppircalabu@bitdefender.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1500310038-7969-1-git-send-email-ppircalabu@bitdefender.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: 'Petre Pircalabu' , "xen-devel@lists.xen.org" Cc: "tamas@tklengyel.com" , Wei Liu , "rcojocaru@bitdefender.com" , Andrew Cooper , "jbeulich@suse.com" , Ian Jackson List-Id: xen-devel@lists.xenproject.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IFBldHJlIFBpcmNhbGFidSBbbWFp bHRvOnBwaXJjYWxhYnVAYml0ZGVmZW5kZXIuY29tXQo+IFNlbnQ6IDE3IEp1bHkgMjAxNyAxNzo0 Nwo+IFRvOiB4ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwo+IENjOiByY29qb2NhcnVAYml0ZGVmZW5k ZXIuY29tOyB0YW1hc0B0a2xlbmd5ZWwuY29tOyBJYW4gSmFja3Nvbgo+IDxJYW4uSmFja3NvbkBj aXRyaXguY29tPjsgV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT47IFBhdWwgRHVycmFudAo+ IDxQYXVsLkR1cnJhbnRAY2l0cml4LmNvbT47IGpiZXVsaWNoQHN1c2UuY29tOyBBbmRyZXcgQ29v cGVyCj4gPEFuZHJldy5Db29wZXIzQGNpdHJpeC5jb20+OyBQZXRyZSBQaXJjYWxhYnUKPiA8cHBp cmNhbGFidUBiaXRkZWZlbmRlci5jb20+Cj4gU3ViamVjdDogW1BBVENIIHY1XSB4ODYvbW9uaXRv cjogTm90aWZ5IG1vbml0b3IgaWYgYW4gZW11bGF0aW9uIGZhaWxzLgo+IAo+IElmIGNhc2Ugb2Yg YSB2bV9ldmVudCB3aXRoIHRoZSBlbXVsYXRlX2ZsYWdzIHNldCwgaWYgdGhlIGluc3RydWN0aW9u Cj4gY2Fubm90IGJlIGVtdWxhdGVkLCB0aGUgbW9uaXRvciBzaG91bGQgYmUgbm90aWZpZWQgaW5z dGVhZCBvZiBkaXJlY3RseQo+IGluamVjdGluZyBhIGh3IGV4Y2VwdGlvbi4KPiBUaGlzIGJlaGF2 aW9yIGNhbiBiZSB1c2VkIHRvIHJlLWV4ZWN1dGUgYW4gaW5zdHJ1Y3Rpb24gbm90IHN1cHBvcnRl ZCBieQo+IHRoZSBlbXVsYXRvciB1c2luZyB0aGUgcmVhbCBwcm9jZXNzb3IgKGUuZy4gYWx0cDJt KSBpbnN0ZWFkIG9mIGp1c3QKPiBjcmFzaGluZy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBQZXRyZSBQ aXJjYWxhYnUgPHBwaXJjYWxhYnVAYml0ZGVmZW5kZXIuY29tPgo+IAo+IC0tLQo+IENoYW5nZWQg c2luY2UgdjE6Cj4gICAqIFJlbW92ZWQgdGhlIGVtdWxhdGlvbiBraW5kIGNoZWNrIHdoZW4gY2Fs bGluZwo+IGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uCj4gCj4gQ2hhbmdlZCBzaW5jZSB2MjoKPiAg ICogUmVtb3ZlZCBhIGZpbGUgYWRkZWQgYnkgbWlzdGFrZQo+IAo+IENoYW5nZWQgc2luY2UgdjM6 Cj4gICAqIFJlbW92ZWQgZXh0cmEgc3RyYXkgbGluZQo+ICAgKiBBZGRlZCB0aGUgX2VuYWJsZWQg c3VmZml4IHRvIHRoZSBlbXVsX3VuaGFuZGxlYWJsZSBtb25pdG9yIG9wdGlvbgo+IAo+IENoYW5n ZWQgc2luY2UgdjQKPiAgICogRml4ZWQgcmV0dXJuIGV4cHJlc3Npb24gb2YgaHZtX21vbml0b3Jf ZW11bF91bmhhbmRsZWFibGUgaGFuZGxlCj4gICBtb25pdG9yX3RyYXBzIGZhaWx1cmVzLgo+ICAg KiBSZW1vdmVkIHN0cmF5IHBhcmFudGhlc2VzLgo+IC0tLQo+ICB0b29scy9saWJ4Yy9pbmNsdWRl L3hlbmN0cmwuaCAgICAgfCAgMiArKwo+ICB0b29scy9saWJ4Yy94Y19tb25pdG9yLmMgICAgICAg ICAgfCAxNCArKysrKysrKysrKysrKwo+ICB4ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYyAgICAg ICAgfCAgNyArKysrKystCj4gIHhlbi9hcmNoL3g4Ni9odm0vbW9uaXRvci5jICAgICAgICB8IDE3 ICsrKysrKysrKysrKysrKysrCj4gIHhlbi9hcmNoL3g4Ni9tb25pdG9yLmMgICAgICAgICAgICB8 IDEyICsrKysrKysrKysrKwo+ICB4ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5oICAgICAgfCAg MSArCj4gIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL21vbml0b3IuaCB8ICAxICsKPiAgeGVuL2lu Y2x1ZGUvYXNtLXg4Ni9tb25pdG9yLmggICAgIHwgIDMgKystCj4gIHhlbi9pbmNsdWRlL3B1Ymxp Yy9kb21jdGwuaCAgICAgICB8ICAxICsKPiAgeGVuL2luY2x1ZGUvcHVibGljL3ZtX2V2ZW50Lmgg ICAgIHwgIDIgKysKPiAgMTAgZmlsZXMgY2hhbmdlZCwgNTggaW5zZXJ0aW9ucygrKSwgMiBkZWxl dGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmgg Yi90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaAo+IGluZGV4IGM1MWJiM2IuLjhkZWI1YWMg MTAwNjQ0Cj4gLS0tIGEvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmgKPiArKysgYi90b29s cy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaAo+IEBAIC0yMDI5LDYgKzIwMjksOCBAQCBpbnQgeGNf bW9uaXRvcl9kZWJ1Z19leGNlcHRpb25zKHhjX2ludGVyZmFjZQo+ICp4Y2gsIGRvbWlkX3QgZG9t YWluX2lkLAo+ICBpbnQgeGNfbW9uaXRvcl9jcHVpZCh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRf dCBkb21haW5faWQsIGJvb2wgZW5hYmxlKTsKPiAgaW50IHhjX21vbml0b3JfcHJpdmlsZWdlZF9j YWxsKHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWFpbl9pZCwKPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJvb2wgZW5hYmxlKTsKPiAraW50IHhjX21vbml0b3JfZW11bF91 bmhhbmRsZWFibGUoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QKPiBkb21haW5faWQsCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZW5hYmxlKTsKPiAgLyoqCj4gICAq IFRoaXMgZnVuY3Rpb24gZW5hYmxlcyAvIGRpc2FibGVzIGVtdWxhdGlvbiBmb3IgZWFjaCBSRVAg Zm9yIGEKPiAgICogUkVQLWNvbXBhdGlibGUgaW5zdHJ1Y3Rpb24uCj4gZGlmZiAtLWdpdCBhL3Rv b2xzL2xpYnhjL3hjX21vbml0b3IuYyBiL3Rvb2xzL2xpYnhjL3hjX21vbml0b3IuYwo+IGluZGV4 IGI0NGNlOTMuLjhlNzJjNmMgMTAwNjQ0Cj4gLS0tIGEvdG9vbHMvbGlieGMveGNfbW9uaXRvci5j Cj4gKysrIGIvdG9vbHMvbGlieGMveGNfbW9uaXRvci5jCj4gQEAgLTIxNiw2ICsyMTYsMjAgQEAg aW50IHhjX21vbml0b3JfcHJpdmlsZWdlZF9jYWxsKHhjX2ludGVyZmFjZSAqeGNoLAo+IGRvbWlk X3QgZG9tYWluX2lkLAo+ICAgICAgcmV0dXJuIGRvX2RvbWN0bCh4Y2gsICZkb21jdGwpOwo+ICB9 Cj4gCj4gK2ludCB4Y19tb25pdG9yX2VtdWxfdW5oYW5kbGVhYmxlKHhjX2ludGVyZmFjZSAqeGNo LCBkb21pZF90Cj4gZG9tYWluX2lkLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBib29sIGVuYWJsZSkKPiArewo+ICsgICAgREVDTEFSRV9ET01DVEw7Cj4gKwo+ICsgICAgZG9t Y3RsLmNtZCA9IFhFTl9ET01DVExfbW9uaXRvcl9vcDsKPiArICAgIGRvbWN0bC5kb21haW4gPSBk b21haW5faWQ7Cj4gKyAgICBkb21jdGwudS5tb25pdG9yX29wLm9wID0gZW5hYmxlID8KPiBYRU5f RE9NQ1RMX01PTklUT1JfT1BfRU5BQkxFCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDogWEVOX0RPTUNUTF9NT05JVE9SX09QX0RJU0FCTEU7Cj4gKyAgICBkb21jdGwudS5t b25pdG9yX29wLmV2ZW50ID0KPiBYRU5fRE9NQ1RMX01PTklUT1JfRVZFTlRfRU1VTF9VTkhBTkRM RUFCTEU7Cj4gKwo+ICsgICAgcmV0dXJuIGRvX2RvbWN0bCh4Y2gsICZkb21jdGwpOwo+ICt9Cj4g Kwo+ICAvKgo+ICAgKiBMb2NhbCB2YXJpYWJsZXM6Cj4gICAqIG1vZGU6IEMKPiBkaWZmIC0tZ2l0 IGEveGVuL2FyY2gveDg2L2h2bS9lbXVsYXRlLmMgYi94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUu Ywo+IGluZGV4IGIyMDY4YWQuLmUxMTc3ZjggMTAwNjQ0Cj4gLS0tIGEveGVuL2FyY2gveDg2L2h2 bS9lbXVsYXRlLmMKPiArKysgYi94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYwo+IEBAIC0xNCwx MiArMTQsMTQgQEAKPiAgI2luY2x1ZGUgPHhlbi9zY2hlZC5oPgo+ICAjaW5jbHVkZSA8eGVuL3Bh Z2luZy5oPgo+ICAjaW5jbHVkZSA8eGVuL3RyYWNlLmg+Cj4gKyNpbmNsdWRlIDx4ZW4vdm1fZXZl bnQuaD4KPiAgI2luY2x1ZGUgPGFzbS9ldmVudC5oPgo+ICAjaW5jbHVkZSA8YXNtL2kzODcuaD4K PiAgI2luY2x1ZGUgPGFzbS94c3RhdGUuaD4KPiAgI2luY2x1ZGUgPGFzbS9odm0vZW11bGF0ZS5o Pgo+ICAjaW5jbHVkZSA8YXNtL2h2bS9odm0uaD4KPiAgI2luY2x1ZGUgPGFzbS9odm0vaW9yZXEu aD4KPiArI2luY2x1ZGUgPGFzbS9odm0vbW9uaXRvci5oPgo+ICAjaW5jbHVkZSA8YXNtL2h2bS90 cmFjZS5oPgo+ICAjaW5jbHVkZSA8YXNtL2h2bS9zdXBwb3J0Lmg+Cj4gICNpbmNsdWRlIDxhc20v aHZtL3N2bS9zdm0uaD4KPiBAQCAtMjEwNCw3ICsyMTA2LDEwIEBAIHZvaWQgaHZtX2VtdWxhdGVf b25lX3ZtX2V2ZW50KGVudW0KPiBlbXVsX2tpbmQga2luZCwgdW5zaWduZWQgaW50IHRyYXBuciwK PiAgICAgICAgICByZXR1cm47Cj4gICAgICBjYXNlIFg4NkVNVUxfVU5IQU5ETEVBQkxFOgo+ICAg ICAgICAgIGh2bV9kdW1wX2VtdWxhdGlvbl9zdGF0ZShYRU5MT0dfR19ERUJVRywgIk1lbSBldmVu dCIsICZjdHgpOwo+IC0gICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKHRyYXBuciwgZXJy Y29kZSk7Cj4gKyAgICAgICAgaWYgKCBodm1fbW9uaXRvcl9lbXVsX3VuaGFuZGxlYWJsZSgpICkK PiArICAgICAgICAgICAgcmV0dXJuOwo+ICsgICAgICAgIGVsc2UKClVubmVjZXNzYXJ5IGVsc2Uu Cgo+ICsgICAgICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbih0cmFwbnIsIGVycmNvZGUp Owo+ICAgICAgICAgIGJyZWFrOwo+ICAgICAgY2FzZSBYODZFTVVMX0VYQ0VQVElPTjoKPiAgICAg ICAgICBodm1faW5qZWN0X2V2ZW50KCZjdHguY3R4dC5ldmVudCk7Cj4gZGlmZiAtLWdpdCBhL3hl bi9hcmNoL3g4Ni9odm0vbW9uaXRvci5jIGIveGVuL2FyY2gveDg2L2h2bS9tb25pdG9yLmMKPiBp bmRleCBhN2NjZmM0Li5lNzdiMDVlIDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vbW9u aXRvci5jCj4gKysrIGIveGVuL2FyY2gveDg2L2h2bS9tb25pdG9yLmMKPiBAQCAtNTcsNiArNTcs MjMgQEAgYm9vbF90IGh2bV9tb25pdG9yX2NyKHVuc2lnbmVkIGludCBpbmRleCwgdW5zaWduZWQK PiBsb25nIHZhbHVlLCB1bnNpZ25lZCBsb25nIG9sZAo+ICAgICAgcmV0dXJuIDA7Cj4gIH0KPiAK PiArYm9vbCBodm1fbW9uaXRvcl9lbXVsX3VuaGFuZGxlYWJsZSh2b2lkKQo+ICt7Cj4gKyAgICBz dHJ1Y3QgdmNwdSAqY3VyciA9IGN1cnJlbnQ7Cj4gKwo+ICsgICAgLyoKPiArICAgICAqIFNlbmQg YSB2bV9ldmVudCB0byB0aGUgbW9uaXRvciB0byBzaWduYWwgdGhhdCB0aGUgY3VycmVudAo+ICsg ICAgICogaW5zdHJ1Y3Rpb24gY291bGRuJ3QgYmUgZW11bGF0ZWQuCj4gKyAgICAgKi8KPiArICAg IHZtX2V2ZW50X3JlcXVlc3RfdCByZXEgPSB7Cj4gKyAgICAgICAgLnJlYXNvbiA9IFZNX0VWRU5U X1JFQVNPTl9FTVVMX1VOSEFORExFQUJMRSwKPiArICAgICAgICAudmNwdV9pZCAgPSBjdXJyLT52 Y3B1X2lkLAo+ICsgICAgfTsKPiArCj4gKyAgICByZXR1cm4gY3Vyci0+ZG9tYWluLT5hcmNoLm1v bml0b3IuZW11bF91bmhhbmRsZWFibGVfZW5hYmxlZCAmJgo+ICsgICAgICAgIG1vbml0b3JfdHJh cHMoY3VyciwgdHJ1ZSwgJnJlcSkgPT0gMTsKPiArfQo+ICsKPiAgdm9pZCBodm1fbW9uaXRvcl9t c3IodW5zaWduZWQgaW50IG1zciwgdWludDY0X3QgdmFsdWUpCj4gIHsKPiAgICAgIHN0cnVjdCB2 Y3B1ICpjdXJyID0gY3VycmVudDsKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21vbml0b3Iu YyBiL3hlbi9hcmNoL3g4Ni9tb25pdG9yLmMKPiBpbmRleCA3MDY0NTRmLi5mNzkxMzcyIDEwMDY0 NAo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9tb25pdG9yLmMKPiArKysgYi94ZW4vYXJjaC94ODYvbW9u aXRvci5jCj4gQEAgLTI4Myw2ICsyODMsMTggQEAgaW50IGFyY2hfbW9uaXRvcl9kb21jdGxfZXZl bnQoc3RydWN0IGRvbWFpbiAqZCwKPiAgICAgICAgICBicmVhazsKPiAgICAgIH0KPiAKPiArICAg IGNhc2UgWEVOX0RPTUNUTF9NT05JVE9SX0VWRU5UX0VNVUxfVU5IQU5ETEVBQkxFOgo+ICsgICAg ewo+ICsgICAgICAgIGJvb2wgb2xkX3N0YXR1cyA9IGFkLT5tb25pdG9yLmVtdWxfdW5oYW5kbGVh YmxlX2VuYWJsZWQ7CgpOZWVkIGEgYmxhbmsgbGluZSBoZXJlLgoKICBQYXVsCgo+ICsgICAgICAg IGlmICggdW5saWtlbHkob2xkX3N0YXR1cyA9PSByZXF1ZXN0ZWRfc3RhdHVzKSApCj4gKyAgICAg ICAgICAgIHJldHVybiAtRUVYSVNUOwo+ICsKPiArICAgICAgICBkb21haW5fcGF1c2UoZCk7Cj4g KyAgICAgICAgYWQtPm1vbml0b3IuZW11bF91bmhhbmRsZWFibGVfZW5hYmxlZCA9IHJlcXVlc3Rl ZF9zdGF0dXM7Cj4gKyAgICAgICAgZG9tYWluX3VucGF1c2UoZCk7Cj4gKyAgICAgICAgYnJlYWs7 Cj4gKyAgICB9Cj4gKwo+ICAgICAgZGVmYXVsdDoKPiAgICAgICAgICAvKgo+ICAgICAgICAgICAq IFNob3VsZCBub3QgYmUgcmVhY2hlZCB1bmxlc3MgYXJjaF9tb25pdG9yX2dldF9jYXBhYmlsaXRp ZXMoKSBpcwo+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5oIGIveGVu L2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaAo+IGluZGV4IGMxMDUyMmIuLmFlMmQwNGQgMTAwNjQ0 Cj4gLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaAo+ICsrKyBiL3hlbi9pbmNsdWRl L2FzbS14ODYvZG9tYWluLmgKPiBAQCAtNDA1LDYgKzQwNSw3IEBAIHN0cnVjdCBhcmNoX2RvbWFp bgo+ICAgICAgICAgIHVuc2lnbmVkIGludCBkZWJ1Z19leGNlcHRpb25fc3luYyAgICAgICAgOiAx Owo+ICAgICAgICAgIHVuc2lnbmVkIGludCBjcHVpZF9lbmFibGVkICAgICAgICAgICAgICAgOiAx Owo+ICAgICAgICAgIHVuc2lnbmVkIGludCBkZXNjcmlwdG9yX2FjY2Vzc19lbmFibGVkICAgOiAx Owo+ICsgICAgICAgIHVuc2lnbmVkIGludCBlbXVsX3VuaGFuZGxlYWJsZV9lbmFibGVkICAgOiAx Owo+ICAgICAgICAgIHN0cnVjdCBtb25pdG9yX21zcl9iaXRtYXAgKm1zcl9iaXRtYXA7Cj4gICAg ICAgICAgdWludDY0X3Qgd3JpdGVfY3RybHJlZ19tYXNrWzRdOwo+ICAgICAgfSBtb25pdG9yOwo+ IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9tb25pdG9yLmggYi94ZW4vaW5j bHVkZS9hc20tCj4geDg2L2h2bS9tb25pdG9yLmgKPiBpbmRleCBkOWVmYjM1Li40MDMwYmU3IDEw MDY0NAo+IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL21vbml0b3IuaAo+ICsrKyBiL3hl bi9pbmNsdWRlL2FzbS14ODYvaHZtL21vbml0b3IuaAo+IEBAIC00Nyw2ICs0Nyw3IEBAIGludCBo dm1fbW9uaXRvcl9jcHVpZCh1bnNpZ25lZCBsb25nIGluc25fbGVuZ3RoLAo+IHVuc2lnbmVkIGlu dCBsZWFmLAo+ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHN1YmxlYWYpOwo+ ICB2b2lkIGh2bV9tb25pdG9yX2ludGVycnVwdCh1bnNpZ25lZCBpbnQgdmVjdG9yLCB1bnNpZ25l ZCBpbnQgdHlwZSwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGVy ciwgdWludDY0X3QgY3IyKTsKPiArYm9vbCBodm1fbW9uaXRvcl9lbXVsX3VuaGFuZGxlYWJsZSh2 b2lkKTsKPiAKPiAgI2VuZGlmIC8qIF9fQVNNX1g4Nl9IVk1fTU9OSVRPUl9IX18gKi8KPiAKPiBk aWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tb25pdG9yLmggYi94ZW4vaW5jbHVkZS9h c20tCj4geDg2L21vbml0b3IuaAo+IGluZGV4IGM1YzMyM2IuLjM4YmEwZmYgMTAwNjQ0Cj4gLS0t IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tb25pdG9yLmgKPiArKysgYi94ZW4vaW5jbHVkZS9hc20t eDg2L21vbml0b3IuaAo+IEBAIC03Nyw3ICs3Nyw4IEBAIHN0YXRpYyBpbmxpbmUgdWludDMyX3QK PiBhcmNoX21vbml0b3JfZ2V0X2NhcGFiaWxpdGllcyhzdHJ1Y3QgZG9tYWluICpkKQo+ICAgICAg ICAgICAgICAgICAgICAgKDFVIDw8IFhFTl9ET01DVExfTU9OSVRPUl9FVkVOVF9HVUVTVF9SRVFV RVNUKSB8Cj4gICAgICAgICAgICAgICAgICAgICAoMVUgPDwgWEVOX0RPTUNUTF9NT05JVE9SX0VW RU5UX0RFQlVHX0VYQ0VQVElPTikgfAo+ICAgICAgICAgICAgICAgICAgICAgKDFVIDw8IFhFTl9E T01DVExfTU9OSVRPUl9FVkVOVF9DUFVJRCkgfAo+IC0gICAgICAgICAgICAgICAgICAgKDFVIDw8 IFhFTl9ET01DVExfTU9OSVRPUl9FVkVOVF9JTlRFUlJVUFQpOwo+ICsgICAgICAgICAgICAgICAg ICAgKDFVIDw8IFhFTl9ET01DVExfTU9OSVRPUl9FVkVOVF9JTlRFUlJVUFQpIHwKPiArICAgICAg ICAgICAgICAgICAgICgxVSA8PAo+IFhFTl9ET01DVExfTU9OSVRPUl9FVkVOVF9FTVVMX1VOSEFO RExFQUJMRSk7Cj4gCj4gICAgICAvKiBTaW5jZSB3ZSBrbm93IHRoaXMgaXMgb24gVk1YLCB3ZSBj YW4ganVzdCBjYWxsIHRoZSBodm0gZnVuYyAqLwo+ICAgICAgaWYgKCBodm1faXNfc2luZ2xlc3Rl cF9zdXBwb3J0ZWQoKSApCj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwu aCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaAo+IGluZGV4IGZmMzk3NjIuLjZiZDg2NjYg MTAwNjQ0Cj4gLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oCj4gKysrIGIveGVuL2lu Y2x1ZGUvcHVibGljL2RvbWN0bC5oCj4gQEAgLTEwODMsNiArMTA4Myw3IEBACj4gREVGSU5FX1hF Tl9HVUVTVF9IQU5ETEUoeGVuX2RvbWN0bF9wc3JfY210X29wX3QpOwo+ICAjZGVmaW5lIFhFTl9E T01DVExfTU9OSVRPUl9FVkVOVF9QUklWSUxFR0VEX0NBTEwgICAgICAgNwo+ICAjZGVmaW5lIFhF Tl9ET01DVExfTU9OSVRPUl9FVkVOVF9JTlRFUlJVUFQgICAgICAgICAgICAgOAo+ICAjZGVmaW5l IFhFTl9ET01DVExfTU9OSVRPUl9FVkVOVF9ERVNDX0FDQ0VTUyAgICAgICAgICAgOQo+ICsjZGVm aW5lIFhFTl9ET01DVExfTU9OSVRPUl9FVkVOVF9FTVVMX1VOSEFORExFQUJMRSAgICAgMTAKPiAK PiAgc3RydWN0IHhlbl9kb21jdGxfbW9uaXRvcl9vcCB7Cj4gICAgICB1aW50MzJfdCBvcDsgLyog WEVOX0RPTUNUTF9NT05JVE9SX09QXyogKi8KPiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVi bGljL3ZtX2V2ZW50LmgKPiBiL3hlbi9pbmNsdWRlL3B1YmxpYy92bV9ldmVudC5oCj4gaW5kZXgg ZjAxZTQ3MS4uNTU0OGFmYiAxMDA2NDQKPiAtLS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMvdm1fZXZl bnQuaAo+ICsrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy92bV9ldmVudC5oCj4gQEAgLTE0OCw2ICsx NDgsOCBAQAo+ICAjZGVmaW5lIFZNX0VWRU5UX1JFQVNPTl9JTlRFUlJVUFQgICAgICAgICAgICAg ICAxMgo+ICAvKiBBIGRlc2NyaXB0b3IgdGFibGUgcmVnaXN0ZXIgd2FzIGFjY2Vzc2VkLiAqLwo+ ICAjZGVmaW5lIFZNX0VWRU5UX1JFQVNPTl9ERVNDUklQVE9SX0FDQ0VTUyAgICAgICAxMwo+ICsv KiBDdXJyZW50IGluc3RydWN0aW9uIGNvdWxkbid0IGJlIGVtdWxhdGVkICovCj4gKyNkZWZpbmUg Vk1fRVZFTlRfUkVBU09OX0VNVUxfVU5IQU5ETEVBQkxFICAgICAgIDE0Cj4gCj4gIC8qIFN1cHBv cnRlZCB2YWx1ZXMgZm9yIHRoZSB2bV9ldmVudF93cml0ZV9jdHJscmVnIGluZGV4LiAqLwo+ICAj ZGVmaW5lIFZNX0VWRU5UX1g4Nl9DUjAgICAgMAo+IC0tCj4gMi43LjQKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK