From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dario Faggioli Subject: [PATCH 03/15] xen/tools: tracing: several improvements on IRQs tracing Date: Thu, 01 Jun 2017 19:33:55 +0200 Message-ID: <149633843555.12814.16573412358602741145.stgit@Solace.fritz.box> References: <149633614204.12814.14390287626133023934.stgit@Solace.fritz.box> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dGTz0-0008PL-PP for xen-devel@lists.xenproject.org; Thu, 01 Jun 2017 17:34:02 +0000 Received: by mail-wm0-f66.google.com with SMTP id g15so13028010wmc.2 for ; Thu, 01 Jun 2017 10:33:57 -0700 (PDT) In-Reply-To: <149633614204.12814.14390287626133023934.stgit@Solace.fritz.box> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: George Dunlap , Wei Liu , Ian Jackson , Jan Beulich , Andrew Cooper List-Id: xen-devel@lists.xenproject.org TW9yZSBzcGVjaWZpY2FsbHk6CiAtIHRoZSBoYW5kbGluZyBvZiB0aGUgVFJDX0hXX0lSUV9IQU5E TEVEIGlzIGZpeGVkLCBib3RoIGluCiAgIHhlbnRyYWNlX2Zvcm1hdCBhbmQgaW4geGVuYWx5emU7 CiAtIHNpbXBsZSBldmVudHMgZm9yIHJlY29yZGluZyB3aGVuIHdlIGVudGVyIGFuZCBleGl0IHRo ZQogICBkb19JUlEgZnVuY3Rpb24sIGFzIHdlbGwgYXMgd2hlbiB3ZSBkZWFsIHdpdGggYSBndWVz dAogICBJUlEsIGFyZSBhZGRlZDsKIC0gdHJhY2luZyBvZiBJUlFzIGhhbmRsZWQgd2l0aCBkaXJl Y3QgdmVjdG9ycyBpcyBhbHNvCiAgIGFkZGVkLgoKV2l0aCBhbGwgdGhlIGFib3ZlLCBhIHRyYWNl IHdpbGwgbm93IGxvb2sgbGlrZSB0aGlzICh1c2luZwp4ZW5hbHl6ZSk6CgogMC4wMDEyOTkwNzIg LngtIGQzMjc2OHY1IGlycV9lbnRlciwgaXJxIDgwMDAwMDAwCiAwLjAwMTI5OTA3MiAueC0gZDMy NzY4djUgaXJxX2RpcmVjdCwgdmVjIGZhLCBoYW5kbGVyID0gMHhmZmZmODJkMDgwMjZkN2U0CiAw LjAwMTMwMDAxNCAueC0gZDMyNzY4djUgcmFpc2Vfc29mdGlycSBuciAwCiAwLjAwMTMwMDQ4NyAu eC0gZDMyNzY4djUgaXJxX2V4aXQgaXJxIDgwMDAwMDAwLCBpbl9pcnEgPSAwCgpPciBsaWtlIHRo aXM6CgogMC4wNDk0Mzc4OTIgLXwtIGQzMjc2N3YxMiBpcnFfZW50ZXIsIGlycSA0CiAwLjA0OTQz Nzg5MiAtfC0gZDMyNzY3djEyIGlycV9oYW5kbGVkIGlycSA0LCA4NTQyOCBjeWNsZXMKIDAuMDQ5 NDc0MzM2IC18LSBkMzI3Njd2MTIgaXJxX2V4aXQgaXJxIDQsIHN0YXR1cyA9IDB4MCwgaW5faXJx ID0gMAoKTWFraW5nIGl0IG11Y2ggZWFzaWVyIHRvIGZpZ3VyZSBvdXQgd2hlbiBpbnRlcnJ1cHQK cHJvY2Vzc2luZyBzdGFydCwgd2hhdCBpdCBkb2VzIGFuZCB3aGVuIGl0IGVuZHMuCgpTaWduZWQt b2ZmLWJ5OiBEYXJpbyBGYWdnaW9saSA8ZGFyaW8uZmFnZ2lvbGlAY2l0cml4LmNvbT4KLS0tCkNj OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGV1LmNpdHJpeC5jb20+CkNjOiBJYW4gSmFj a3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KQ2M6IFdlaSBMaXUgPHdlaS5saXUyQGNp dHJpeC5jb20+CkNjOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNjOiBBbmRyZXcg Q29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KIHRvb2xzL3hlbnRyYWNlL2Zv cm1hdHMgICAgIHwgICAgNiArKysrCiB0b29scy94ZW50cmFjZS94ZW5hbHl6ZS5jICB8ICAgNTYg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQogeGVuL2FyY2gveDg2L2ly cS5jICAgICAgICAgfCAgIDYxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0tLS0tCiB4ZW4vaW5jbHVkZS9wdWJsaWMvdHJhY2UuaCB8ICAgIDQgKysrCiA0IGZpbGVzIGNo YW5nZWQsIDEwOSBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90 b29scy94ZW50cmFjZS9mb3JtYXRzIGIvdG9vbHMveGVudHJhY2UvZm9ybWF0cwppbmRleCA4YjMx NzgwLi4wMGMyOWI4IDEwMDY0NAotLS0gYS90b29scy94ZW50cmFjZS9mb3JtYXRzCisrKyBiL3Rv b2xzL3hlbnRyYWNlL2Zvcm1hdHMKQEAgLTE5Nyw3ICsxOTcsMTEgQEAKIDB4MDA4MDIwMDUgIENQ VSUoY3B1KWQgICUodHNjKWQgKCslKHJlbHRzYyk4ZCkgIG1vdmVfdmVjdG9yIFsgaXJxID0gJSgx KWQgaGFkIHZlY3RvciAweCUoMil4IG9uIENQVSUoMylkIF0KIDB4MDA4MDIwMDYgIENQVSUoY3B1 KWQgICUodHNjKWQgKCslKHJlbHRzYyk4ZCkgIGFzc2lnbl92ZWN0b3IgWyBpcnEgPSAlKDEpZCA9 IHZlY3RvciAweCUoMil4LCBDUFUgbWFzazogMHglKDMpMDh4IF0KIDB4MDA4MDIwMDcgIENQVSUo Y3B1KWQgICUodHNjKWQgKCslKHJlbHRzYyk4ZCkgIGJvZ3VzX3ZlY3RvciBbIDB4JSgxKXggXQot MHgwMDgwMjAwOCAgQ1BVJShjcHUpZCAgJSh0c2MpZCAoKyUocmVsdHNjKThkKSAgZG9faXJxIFsg aXJxID0gJSgxKWQsIGJlZ2FuID0gJSgyKWR1cywgZW5kZWQgPSAlKDMpZHVzIF0KKzB4MDA4MDIw MDggIENQVSUoY3B1KWQgICUodHNjKWQgKCslKHJlbHRzYyk4ZCkgIGlycV9oYW5kbGVkIFsgaXJx ID0gJSgxKWQsIGR1ciA9IDB4JSgzKTA4eCUoMikwOHggXQorMHgwMDgwMjAwOSAgQ1BVJShjcHUp ZCAgJSh0c2MpZCAoKyUocmVsdHNjKThkKSAgZGlyZWN0X3ZlY3RvciBbIHZlY3RvciAweCUoMSl4 LCBoYW5kbGVyID0gMHglKDMpMDh4JSgyKTA4eCBdCisweDAwODAyMDBhICBDUFUlKGNwdSlkICAl KHRzYylkICgrJShyZWx0c2MpOGQpICBkb19pcnEgWyBpcnEgPSAlKDEpZCBdCisweDAwODAyMDBi ICBDUFUlKGNwdSlkICAlKHRzYylkICgrJShyZWx0c2MpOGQpICBkb19ndWVzdF9pcnEgWyBpcnEg PSAlKDEpZCBdCisweDAwODAyMDBjICBDUFUlKGNwdSlkICAlKHRzYylkICgrJShyZWx0c2MpOGQp ICBpcnFfZXhpdCBbIGlycSA9ICUoMSlkLCBzdGF0dXMgPSAweCUoMil4LCBpbl9pcnEgPSAlKDMp ZCBdCiAKIDB4MDAwODQwMDEgIENQVSUoY3B1KWQgICUodHNjKWQgKCslKHJlbHRzYyk4ZCkgIGhw ZXQgY3JlYXRlIFsgdG4gPSAlKDEpZCwgaXJxID0gJSgyKWQsIGRlbHRhID0gMHglKDQpMDh4JSgz KTA4eCwgcGVyaW9kID0gMHglKDYpMDh4JSg1KTA4eCBdCiAweDAwMDg0MDAyICBDUFUlKGNwdSlk ICAlKHRzYylkICgrJShyZWx0c2MpOGQpICBwaXQgY3JlYXRlIFsgZGVsdGEgPSAweCUoMSkwMTZ4 LCBwZXJpb2QgPSAweCUoMikwMTZ4IF0KZGlmZiAtLWdpdCBhL3Rvb2xzL3hlbnRyYWNlL3hlbmFs eXplLmMgYi90b29scy94ZW50cmFjZS94ZW5hbHl6ZS5jCmluZGV4IGZhNjA4YWQuLjA2M2VlZTcg MTAwNjQ0Ci0tLSBhL3Rvb2xzL3hlbnRyYWNlL3hlbmFseXplLmMKKysrIGIvdG9vbHMveGVudHJh Y2UveGVuYWx5emUuYwpAQCAtODM4MCwxOSArODM4MCw0NSBAQCB2b2lkIGlycV9wcm9jZXNzKHN0 cnVjdCBwY3B1X2luZm8gKnApIHsKICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9Ci0g ICAgY2FzZSBUUkNfSFdfSVJRX0hBTkRMRUQ6CisgICAgY2FzZSBUUkNfSFdfSVJRX0VOVEVSOgor ICAgIGNhc2UgVFJDX0hXX0lSUV9HVUVTVDoKICAgICB7CiAgICAgICAgIHN0cnVjdCB7Ci0gICAg ICAgICAgICBpbnQgaXJxLCBzdGFydF90c2MsIGVuZF90c2M7CisgICAgICAgICAgICBpbnQzMl90 IGlycTsKICAgICAgICAgfSAqciA9ICh0eXBlb2YocikpcmktPmQ7Ci0gICAgICAgIGludCBhcmN0 aW1lOwogCi0gICAgICAgIGFyY3RpbWUgPSByLT5lbmRfdHNjIC0gci0+c3RhcnRfdHNjOwogICAg ICAgICBpZiAoIG9wdC5kdW1wX2FsbCApCiAgICAgICAgIHsKLSAgICAgICAgICAgIHByaW50Zigi ICVzIGlycV9oYW5kbGVkIGlycSAleCAlZCAoJWQsJWQpXG4iLAotICAgICAgICAgICAgICAgICAg IHJpLT5kdW1wX2hlYWRlciwKLSAgICAgICAgICAgICAgICAgICByLT5pcnEsIGFyY3RpbWUsIHIt PnN0YXJ0X3RzYywgci0+ZW5kX3RzYyk7CisgICAgICAgICAgICBwcmludGYoIiAlcyBpcnFfJXMs IGlycSAleFxuIiwgcmktPmR1bXBfaGVhZGVyLAorICAgICAgICAgICAgICAgICAgIHJpLT5ldmVu dCA9PSBUUkNfSFdfSVJRX0VOVEVSID8gImVudGVyIiA6ICJndWVzdCIsIHItPmlycSk7CisgICAg ICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGNhc2UgVFJDX0hXX0lSUV9ESVJFQ1Rf VkVDVE9SOgorICAgIHsKKyAgICAgICAgc3RydWN0IHsKKyAgICAgICAgICAgIHVpbnQzMl90IHZl YzsKKyAgICAgICAgICAgIHVpbnQ2NF90IGhhbmRsZXI7CisgICAgICAgIH0gX19hdHRyaWJ1dGVf XygocGFja2VkKSkgKnIgPSAodHlwZW9mKHIpKXJpLT5kOworCisgICAgICAgIGlmICggb3B0LmR1 bXBfYWxsICkKKyAgICAgICAgeworICAgICAgICAgICAgcHJpbnRmKCIgJXMgaXJxX2RpcmVjdCwg dmVjICV4LCBoYW5kbGVyID0gJXBcbiIsCisgICAgICAgICAgICAgICAgICAgcmktPmR1bXBfaGVh ZGVyLCByLT52ZWMsICh2b2lkKilyLT5oYW5kbGVyKTsKKyAgICAgICAgfQorICAgICAgICBicmVh azsKKyAgICB9CisgICAgY2FzZSBUUkNfSFdfSVJRX0hBTkRMRUQ6CisgICAgeworICAgICAgICBz dHJ1Y3QgeworICAgICAgICAgICAgaW50MzJfdCBpcnE7CisgICAgICAgICAgICB1aW50NjRfdCBh cmN0aW1lOworICAgICAgICB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpICpyID0gKHR5cGVvZihy KSlyaS0+ZDsKKworICAgICAgICBpZiAoIG9wdC5kdW1wX2FsbCApCisgICAgICAgIHsKKyAgICAg ICAgICAgIHByaW50ZigiICVzIGlycV9oYW5kbGVkIGlycSAleCwgJSJQUkl1NjQiIGN5Y2xlc1xu IiwKKyAgICAgICAgICAgICAgICAgICByaS0+ZHVtcF9oZWFkZXIsIHItPmlycSwgci0+YXJjdGlt ZSk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKCBvcHQuc2NhdHRlcnBsb3RfaXJxICkKICAgICAg ICAgewpAQCAtODQwNyw2ICs4NDMzLDIyIEBAIHZvaWQgaXJxX3Byb2Nlc3Moc3RydWN0IHBjcHVf aW5mbyAqcCkgewogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIH0KKyAgICBjYXNlIFRS Q19IV19JUlFfRVhJVDoKKyAgICB7CisgICAgICAgIHN0cnVjdCB7CisgICAgICAgICAgICBpbnQz Ml90IGlycSwgc3RhdHVzOworICAgICAgICAgICAgdWludDMyX3QgaW5faXJxOworICAgICAgICB9 ICpyID0gKHR5cGVvZihyKSlyaS0+ZDsKKworICAgICAgICBpZiAoIG9wdC5kdW1wX2FsbCApCisg ICAgICAgIHsKKyAgICAgICAgICAgIHByaW50ZigiICVzIGlycV9leGl0IGlycSAleCIsIHJpLT5k dW1wX2hlYWRlciwgci0+aXJxKTsKKyAgICAgICAgICAgIGlmICggci0+c3RhdHVzICE9IC0xICkK KyAgICAgICAgICAgICAgICBwcmludGYoIiwgc3RhdHVzID0gMHgleCIsIHItPnN0YXR1cyk7Cisg ICAgICAgICAgICBwcmludGYoIiwgaW5faXJxID0gJWRcbiIsIHItPmluX2lycSk7CisgICAgICAg IH0KKyAgICAgICAgYnJlYWs7CisgICAgfQogICAgIGNhc2UgVFJDX0hXX0lSUV9BU1NJR05fVkVD VE9SOgogICAgIHsKICAgICAgICAgc3RydWN0IHsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9p cnEuYyBiL3hlbi9hcmNoL3g4Ni9pcnEuYwppbmRleCA2NzZiYTUyLi5mNWQ5MzAyIDEwMDY0NAot LS0gYS94ZW4vYXJjaC94ODYvaXJxLmMKKysrIGIveGVuL2FyY2gveDg2L2lycS5jCkBAIC0xMDAs MTEgKzEwMCwxNSBAQCBzdGF0aWMgdm9pZCB0cmFjZV9pcnFfbWFzayh1MzIgZXZlbnQsIGludCBp cnEsIGludCB2ZWN0b3IsIGNwdW1hc2tfdCAqbWFzaykKICAgICAgICAgdW5zaWduZWQgaW50IGly cToxNiwgdmVjOjE2OwogICAgICAgICB1bnNpZ25lZCBpbnQgbWFza1s2XTsKICAgICB9IGQ7CisK KyAgICBpZiAoIGxpa2VseSghdGJfaW5pdF9kb25lKSApCisgICAgICAgIHJldHVybjsKKwogICAg IGQuaXJxID0gaXJxOwogICAgIGQudmVjID0gdmVjdG9yOwogICAgIG1lbXNldChkLm1hc2ssIDAs IHNpemVvZihkLm1hc2spKTsKICAgICBtZW1jcHkoZC5tYXNrLCBtYXNrLCBtaW4oc2l6ZW9mKGQu bWFzayksIHNpemVvZihjcHVtYXNrX3QpKSk7Ci0gICAgdHJhY2VfdmFyKGV2ZW50LCAxLCBzaXpl b2YoZCksICZkKTsKKyAgICBfX3RyYWNlX3ZhcihldmVudCwgMSwgc2l6ZW9mKGQpLCAmZCk7CiB9 CiAKIHN0YXRpYyBpbnQgX19pbml0IF9fYmluZF9pcnFfdmVjdG9yKGludCBpcnEsIGludCB2ZWN0 b3IsIGNvbnN0IGNwdW1hc2tfdCAqY3B1X21hc2spCkBAIC04MDQsMjMgKzgwOCw1NCBAQCB2b2lk IGFsbG9jX2RpcmVjdF9hcGljX3ZlY3RvcigKICAgICBzcGluX3VubG9jaygmbG9jayk7CiB9CiAK K3N0YXRpYyBpbmxpbmUgdm9pZCB0cmFjZV9pcnFfaGFuZGxlZChpbnQgaXJxLCB1aW50NjRfdCB0 aW1lKQoreworICAgIHN0cnVjdCBfX3BhY2tlZCB7CisgICAgICAgIGludDMyX3QgaXJxOworICAg ICAgICB1aW50NjRfdCB0aW1lOworICAgIH0gZDsKKworICAgIGlmICggbGlrZWx5KCF0Yl9pbml0 X2RvbmUpICkKKyAgICAgICAgcmV0dXJuOworCisgICAgZC5pcnEgPSBpcnE7CisgICAgZC50aW1l ID0gdGltZTsKKyAgICBfX3RyYWNlX3ZhcihUUkNfSFdfSVJRX0hBTkRMRUQsIDAsIHNpemVvZihk KSwgJmQpOworfQorCiB2b2lkIGRvX0lSUShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIHsK ICAgICBzdHJ1Y3QgaXJxYWN0aW9uICphY3Rpb247Ci0gICAgdWludDMyX3QgICAgICAgICAgdHNj X2luOwotICAgIHN0cnVjdCBpcnFfZGVzYyAgKmRlc2M7CisgICAgdWludDY0X3QgICAgICAgICAg dHNjX2luID0gMDsKKyAgICBzdHJ1Y3QgaXJxX2Rlc2MgICpkZXNjID0gTlVMTDsKICAgICB1bnNp Z25lZCBpbnQgICAgICB2ZWN0b3IgPSAodTgpcmVncy0+ZW50cnlfdmVjdG9yOwogICAgIGludCBp cnEgPSBfX2dldF9jcHVfdmFyKHZlY3Rvcl9pcnFbdmVjdG9yXSk7CiAgICAgc3RydWN0IGNwdV91 c2VyX3JlZ3MgKm9sZF9yZWdzID0gc2V0X2lycV9yZWdzKHJlZ3MpOwogICAgIAogICAgIHBlcmZj X2luY3IoaXJxcyk7CiAgICAgdGhpc19jcHUoaXJxX2NvdW50KSsrOworICAgIFRSQUNFXzFEKFRS Q19IV19JUlFfRU5URVIsIGlycSk7CiAgICAgaXJxX2VudGVyKCk7CiAKLSAgICBpZiAoaXJxIDwg MCkgewotICAgICAgICBpZiAoZGlyZWN0X2FwaWNfdmVjdG9yW3ZlY3Rvcl0gIT0gTlVMTCkgewor ICAgIGlmIChpcnEgPCAwKQorICAgIHsKKyAgICAgICAgaWYgKGRpcmVjdF9hcGljX3ZlY3Rvclt2 ZWN0b3JdICE9IE5VTEwpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICggdW5saWtlbHkodGJf aW5pdF9kb25lKSApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgc3RydWN0IF9fcGFj a2VkIHsKKyAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgdmVjOworICAgICAgICAgICAgICAg ICAgICB1aW50NjRfdCBoYW5kbGVyOworICAgICAgICAgICAgICAgIH0gZDsKKworICAgICAgICAg ICAgICAgIGQudmVjID0gdmVjdG9yOworICAgICAgICAgICAgICAgIGQuaGFuZGxlciA9ICh1aW50 NjRfdClkaXJlY3RfYXBpY192ZWN0b3JbdmVjdG9yXTsKKyAgICAgICAgICAgICAgICBfX3RyYWNl X3ZhcihUUkNfSFdfSVJRX0RJUkVDVF9WRUNUT1IsIDAsIHNpemVvZihkKSwgJmQpOworICAgICAg ICAgICAgfQogICAgICAgICAgICAgKCpkaXJlY3RfYXBpY192ZWN0b3JbdmVjdG9yXSkocmVncyk7 Ci0gICAgICAgIH0gZWxzZSB7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CiAg ICAgICAgICAgICBjb25zdCBjaGFyICpraW5kID0gIiwgTEFQSUMiOwogCiAgICAgICAgICAgICBp ZiAoIGFwaWNfaXNyX3JlYWQodmVjdG9yKSApCkBAIC04ODQsOSArOTE5LDEzIEBAIHZvaWQgZG9f SVJRKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgICAgICAgICAgZGVzYy0+cmxfcXVh bnR1bV9zdGFydCA9IG5vdzsKICAgICAgICAgfQogCi0gICAgICAgIHRzY19pbiA9IHRiX2luaXRf ZG9uZSA/IGdldF9jeWNsZXMoKSA6IDA7CisgICAgICAgIGlmICggdW5saWtlbHkodGJfaW5pdF9k b25lKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIF9fdHJhY2VfdmFyKFRSQ19IV19JUlFfR1VF U1QsIDAsIHNpemVvZihpcnEpLCAmaXJxKTsKKyAgICAgICAgICAgIHRzY19pbiA9IGdldF9jeWNs ZXMoKTsKKyAgICAgICAgfQogICAgICAgICBfX2RvX0lSUV9ndWVzdChpcnEpOwotICAgICAgICBU UkFDRV8zRChUUkNfSFdfSVJRX0hBTkRMRUQsIGlycSwgdHNjX2luLCBnZXRfY3ljbGVzKCkpOwor ICAgICAgICB0cmFjZV9pcnFfaGFuZGxlZChpcnEsIGdldF9jeWNsZXMoKSAtIHRzY19pbik7CiAg ICAgICAgIGdvdG8gb3V0X25vX2VuZDsKICAgICB9CiAKQEAgLTkwNyw5ICs5NDYsMTAgQEAgdm9p ZCBkb19JUlEoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgewogICAgICAgICBkZXNj LT5zdGF0dXMgJj0gfklSUV9QRU5ESU5HOwogICAgICAgICBzcGluX3VubG9ja19pcnEoJmRlc2Mt PmxvY2spOwotICAgICAgICB0c2NfaW4gPSB0Yl9pbml0X2RvbmUgPyBnZXRfY3ljbGVzKCkgOiAw OworICAgICAgICBpZiAoIHVubGlrZWx5KHRiX2luaXRfZG9uZSkgKQorICAgICAgICAgICAgdHNj X2luID0gZ2V0X2N5Y2xlcygpOwogICAgICAgICBhY3Rpb24tPmhhbmRsZXIoaXJxLCBhY3Rpb24t PmRldl9pZCwgcmVncyk7Ci0gICAgICAgIFRSQUNFXzNEKFRSQ19IV19JUlFfSEFORExFRCwgaXJx LCB0c2NfaW4sIGdldF9jeWNsZXMoKSk7CisgICAgICAgIHRyYWNlX2lycV9oYW5kbGVkKGlycSwg Z2V0X2N5Y2xlcygpIC0gdHNjX2luKTsKICAgICAgICAgc3Bpbl9sb2NrX2lycSgmZGVzYy0+bG9j ayk7CiAgICAgfQogCkBAIC05MjIsNiArOTYyLDcgQEAgdm9pZCBkb19JUlEoc3RydWN0IGNwdV91 c2VyX3JlZ3MgKnJlZ3MpCiAgICAgc3Bpbl91bmxvY2soJmRlc2MtPmxvY2spOwogIG91dF9ub191 bmxvY2s6CiAgICAgaXJxX2V4aXQoKTsKKyAgICBUUkFDRV8zRChUUkNfSFdfSVJRX0VYSVQsIGly cSwgZGVzYyA9PSBOVUxMID8gLTEgOiBkZXNjLT5zdGF0dXMsIGluX2lycSgpKTsKICAgICBzZXRf aXJxX3JlZ3Mob2xkX3JlZ3MpOwogfQogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMv dHJhY2UuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy90cmFjZS5oCmluZGV4IDdmMmU4OTEuLmY2NmE3 YWYgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy90cmFjZS5oCisrKyBiL3hlbi9pbmNs dWRlL3B1YmxpYy90cmFjZS5oCkBAIC0yNzEsNiArMjcxLDEwIEBACiAjZGVmaW5lIFRSQ19IV19J UlFfQVNTSUdOX1ZFQ1RPUiAgICAgIChUUkNfSFdfSVJRICsgMHg2KQogI2RlZmluZSBUUkNfSFdf SVJRX1VOTUFQUEVEX1ZFQ1RPUiAgICAoVFJDX0hXX0lSUSArIDB4NykKICNkZWZpbmUgVFJDX0hX X0lSUV9IQU5ETEVEICAgICAgICAgICAgKFRSQ19IV19JUlEgKyAweDgpCisjZGVmaW5lIFRSQ19I V19JUlFfRElSRUNUX1ZFQ1RPUiAgICAgIChUUkNfSFdfSVJRICsgMHg5KQorI2RlZmluZSBUUkNf SFdfSVJRX0VOVEVSICAgICAgICAgICAgICAoVFJDX0hXX0lSUSArIDB4QSkKKyNkZWZpbmUgVFJD X0hXX0lSUV9HVUVTVCAgICAgICAgICAgICAgKFRSQ19IV19JUlEgKyAweEIpCisjZGVmaW5lIFRS Q19IV19JUlFfRVhJVCAgICAgICAgICAgICAgIChUUkNfSFdfSVJRICsgMHhDKQogCiAvKgogICog RXZlbnQgRmxhZ3MKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBz Oi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK