From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vitaly Kuznetsov Subject: [PATCH linux v3 4/9] x86/xen: use xen_vcpu_id mapping for HYPERVISOR_vcpu_op Date: Tue, 26 Jul 2016 14:30:23 +0200 Message-ID: <1469536228-29932-5-git-send-email-vkuznets@redhat.com> References: <1469536228-29932-1-git-send-email-vkuznets@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bS1VY-0001y2-6g for xen-devel@lists.xenproject.org; Tue, 26 Jul 2016 12:30:48 +0000 In-Reply-To: <1469536228-29932-1-git-send-email-vkuznets@redhat.com> 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: Juergen Gross , Stefano Stabellini , Andrew Cooper , x86@kernel.org, linux-kernel@vger.kernel.org, Julien Grall , Ingo Molnar , David Vrabel , Jan Beulich , "H. Peter Anvin" , Boris Ostrovsky , Thomas Gleixner List-Id: xen-devel@lists.xenproject.org SFlQRVJWSVNPUl92Y3B1X29wKCkgcGFzc2VzIExpbnV4J3MgaWRlYSBvZiB2Q1BVIGlkIGFzIGEg cGFyYW1ldGVyIHdoaWxlClhlbidzIGlkZWEgaXMgZXhwZWN0ZWQuIEluIHNvbWUgY2FzZXMgdGhl c2UgaWRlYXMgZGl2ZXJnZSBzbyB3ZSBuZWVkIHRvCmRvIHJlbWFwcGluZy4gQ29udmVydCBhbGwg Y2FsbGVycyBvZiBIWVBFUlZJU09SX3ZjcHVfb3AoKSB0byB1c2UKeGVuX3ZjcHVfbnIoKS4gTGVh dmUgeGVuX2ZpbGxfcG9zc2libGVfbWFwKCkgYW5kIHhlbl9maWx0ZXJfY3B1X21hcHMoKQppbnRh Y3QgYXMgdGhleSdyZSBvbmx5IGJlaW5nIGNhbGxlZCBieSBQViBndWVzdHMgYmVmb3JlIHBlcnB1 IGFyZWFzIGFyZQppbml0aWFsaXplZC4gV2hpbGUgdGhlIGlzc3VlIGNvdWxkIGJlIHNvbHZlZCBi eSBzd2l0Y2hpbmcgdG8gZWFybHlfcGVyY3B1CmZvciB4ZW5fdmNwdV9pZCBJIHRoaW5rIGl0J3Mg bm90IHdvcnRoIGl0OiBQViBndWVzdHMgd2lsbCBwcm9iYWJseSBuZXZlcgpnZXQgdG8gdGhlIHBv aW50IHdoZXJlIHRoZWlyIGlkZWEgb2YgdkNQVSBpZCBkaXZlcmdlcyBmcm9tIFhlbidzLgoKU2ln bmVkLW9mZi1ieTogVml0YWx5IEt1em5ldHNvdiA8dmt1em5ldHNAcmVkaGF0LmNvbT4KLS0tCkNo YW5nZXMgc2luY2UgdjE6Ci0gTW9kaWZ5IGFsbCBjYWxsZXJzIG9mIEhZUEVSVklTT1JfdmNwdV9v cCgpIGluc3RlYWQgb2YgbW9kaWZ5aW5nCiAgSFlQRVJWSVNPUl92Y3B1X29wKCkgW0RhdmlkIFZy YWJlbF0KLS0tCiBhcmNoL2FybS94ZW4vZW5saWdodGVuLmMgICAgICAgICB8ICAzICsrLQogYXJj aC94ODYveGVuL2VubGlnaHRlbi5jICAgICAgICAgfCAxMCArKysrKystLS0tCiBhcmNoL3g4Ni94 ZW4vaXJxLmMgICAgICAgICAgICAgICB8ICAzICsrLQogYXJjaC94ODYveGVuL3NtcC5jICAgICAg ICAgICAgICAgfCAxMSArKysrKystLS0tLQogYXJjaC94ODYveGVuL3RpbWUuYyAgICAgICAgICAg ICAgfCAxOCArKysrKysrKysrKystLS0tLS0KIGRyaXZlcnMveGVuL2V2ZW50cy9ldmVudHNfYmFz ZS5jIHwgIDMgKystCiBkcml2ZXJzL3hlbi90aW1lLmMgICAgICAgICAgICAgICB8ICAyICstCiA3 IGZpbGVzIGNoYW5nZWQsIDMxIGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2FyY2gvYXJtL3hlbi9lbmxpZ2h0ZW4uYyBiL2FyY2gvYXJtL3hlbi9lbmxpZ2h0ZW4u YwppbmRleCBmZTMyMjY3Li4wNDU2ZGFmIDEwMDY0NAotLS0gYS9hcmNoL2FybS94ZW4vZW5saWdo dGVuLmMKKysrIGIvYXJjaC9hcm0veGVuL2VubGlnaHRlbi5jCkBAIC0xODksNyArMTg5LDggQEAg c3RhdGljIHZvaWQgeGVuX3BlcmNwdV9pbml0KHZvaWQpCiAJaW5mby5tZm4gPSB2aXJ0X3RvX2dm bih2Y3B1cCk7CiAJaW5mby5vZmZzZXQgPSB4ZW5fb2Zmc2V0X2luX3BhZ2UodmNwdXApOwogCi0J ZXJyID0gSFlQRVJWSVNPUl92Y3B1X29wKFZDUFVPUF9yZWdpc3Rlcl92Y3B1X2luZm8sIGNwdSwg JmluZm8pOworCWVyciA9IEhZUEVSVklTT1JfdmNwdV9vcChWQ1BVT1BfcmVnaXN0ZXJfdmNwdV9p bmZvLCB4ZW5fdmNwdV9ucihjcHUpLAorCQkJCSAmaW5mbyk7CiAJQlVHX09OKGVycik7CiAJcGVy X2NwdSh4ZW5fdmNwdSwgY3B1KSA9IHZjcHVwOwogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4v ZW5saWdodGVuLmMgYi9hcmNoL3g4Ni94ZW4vZW5saWdodGVuLmMKaW5kZXggYzgzMzkxMi4uM2Iw Y2VlZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jCisrKyBiL2FyY2gveDg2 L3hlbi9lbmxpZ2h0ZW4uYwpAQCAtMjI4LDcgKzIyOCw4IEBAIHN0YXRpYyB2b2lkIHhlbl92Y3B1 X3NldHVwKGludCBjcHUpCiAJICAgaHlwZXJ2aXNvciBoYXMgbm8gdW5yZWdpc3RlciB2YXJpYW50 IGFuZCB0aGlzIGh5cGVyY2FsbCBkb2VzIG5vdAogCSAgIGFsbG93IHRvIG92ZXItd3JpdGUgaW5m by5tZm4gYW5kIGluZm8ub2Zmc2V0LgogCSAqLwotCWVyciA9IEhZUEVSVklTT1JfdmNwdV9vcChW Q1BVT1BfcmVnaXN0ZXJfdmNwdV9pbmZvLCBjcHUsICZpbmZvKTsKKwllcnIgPSBIWVBFUlZJU09S X3ZjcHVfb3AoVkNQVU9QX3JlZ2lzdGVyX3ZjcHVfaW5mbywgeGVuX3ZjcHVfbnIoY3B1KSwKKwkJ CQkgJmluZm8pOwogCiAJaWYgKGVycikgewogCQlwcmludGsoS0VSTl9ERUJVRyAicmVnaXN0ZXJf dmNwdV9pbmZvIGZhaWxlZDogZXJyPSVkXG4iLCBlcnIpOwpAQCAtMjUyLDEwICsyNTMsMTEgQEAg dm9pZCB4ZW5fdmNwdV9yZXN0b3JlKHZvaWQpCiAKIAlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoY3B1 KSB7CiAJCWJvb2wgb3RoZXJfY3B1ID0gKGNwdSAhPSBzbXBfcHJvY2Vzc29yX2lkKCkpOwotCQli b29sIGlzX3VwID0gSFlQRVJWSVNPUl92Y3B1X29wKFZDUFVPUF9pc191cCwgY3B1LCBOVUxMKTsK KwkJYm9vbCBpc191cCA9IEhZUEVSVklTT1JfdmNwdV9vcChWQ1BVT1BfaXNfdXAsIHhlbl92Y3B1 X25yKGNwdSksCisJCQkJCQlOVUxMKTsKIAogCQlpZiAob3RoZXJfY3B1ICYmIGlzX3VwICYmCi0J CSAgICBIWVBFUlZJU09SX3ZjcHVfb3AoVkNQVU9QX2Rvd24sIGNwdSwgTlVMTCkpCisJCSAgICBI WVBFUlZJU09SX3ZjcHVfb3AoVkNQVU9QX2Rvd24sIHhlbl92Y3B1X25yKGNwdSksIE5VTEwpKQog CQkJQlVHKCk7CiAKIAkJeGVuX3NldHVwX3J1bnN0YXRlX2luZm8oY3B1KTsKQEAgLTI2NCw3ICsy NjYsNyBAQCB2b2lkIHhlbl92Y3B1X3Jlc3RvcmUodm9pZCkKIAkJCXhlbl92Y3B1X3NldHVwKGNw dSk7CiAKIAkJaWYgKG90aGVyX2NwdSAmJiBpc191cCAmJgotCQkgICAgSFlQRVJWSVNPUl92Y3B1 X29wKFZDUFVPUF91cCwgY3B1LCBOVUxMKSkKKwkJICAgIEhZUEVSVklTT1JfdmNwdV9vcChWQ1BV T1BfdXAsIHhlbl92Y3B1X25yKGNwdSksIE5VTEwpKQogCQkJQlVHKCk7CiAJfQogfQpkaWZmIC0t Z2l0IGEvYXJjaC94ODYveGVuL2lycS5jIGIvYXJjaC94ODYveGVuL2lycS5jCmluZGV4IGExMjA3 Y2IuLjMzZTkyOTUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi9pcnEuYworKysgYi9hcmNoL3g4 Ni94ZW4vaXJxLmMKQEAgLTEwOSw3ICsxMDksOCBAQCBzdGF0aWMgdm9pZCB4ZW5fc2FmZV9oYWx0 KHZvaWQpCiBzdGF0aWMgdm9pZCB4ZW5faGFsdCh2b2lkKQogewogCWlmIChpcnFzX2Rpc2FibGVk KCkpCi0JCUhZUEVSVklTT1JfdmNwdV9vcChWQ1BVT1BfZG93biwgc21wX3Byb2Nlc3Nvcl9pZCgp LCBOVUxMKTsKKwkJSFlQRVJWSVNPUl92Y3B1X29wKFZDUFVPUF9kb3duLAorCQkJCSAgIHhlbl92 Y3B1X25yKHNtcF9wcm9jZXNzb3JfaWQoKSksIE5VTEwpOwogCWVsc2UKIAkJeGVuX3NhZmVfaGFs dCgpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL3NtcC5jIGIvYXJjaC94ODYveGVuL3Nt cC5jCmluZGV4IDcxOWNmMjkuLmEzMTE4ZjIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi9zbXAu YworKysgYi9hcmNoL3g4Ni94ZW4vc21wLmMKQEAgLTQ1NCw3ICs0NTQsNyBAQCBjcHVfaW5pdGlh bGl6ZV9jb250ZXh0KHVuc2lnbmVkIGludCBjcHUsIHN0cnVjdCB0YXNrX3N0cnVjdCAqaWRsZSkK ICNlbmRpZgogCWN0eHQtPnVzZXJfcmVncy5lc3AgPSBpZGxlLT50aHJlYWQuc3AwIC0gc2l6ZW9m KHN0cnVjdCBwdF9yZWdzKTsKIAljdHh0LT5jdHJscmVnWzNdID0geGVuX3Bmbl90b19jcjModmly dF90b19nZm4oc3dhcHBlcl9wZ19kaXIpKTsKLQlpZiAoSFlQRVJWSVNPUl92Y3B1X29wKFZDUFVP UF9pbml0aWFsaXNlLCBjcHUsIGN0eHQpKQorCWlmIChIWVBFUlZJU09SX3ZjcHVfb3AoVkNQVU9Q X2luaXRpYWxpc2UsIHhlbl92Y3B1X25yKGNwdSksIGN0eHQpKQogCQlCVUcoKTsKIAogCWtmcmVl KGN0eHQpOwpAQCAtNDkyLDcgKzQ5Miw3IEBAIHN0YXRpYyBpbnQgeGVuX2NwdV91cCh1bnNpZ25l ZCBpbnQgY3B1LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmlkbGUpCiAJaWYgKHJjKQogCQlyZXR1cm4g cmM7CiAKLQlyYyA9IEhZUEVSVklTT1JfdmNwdV9vcChWQ1BVT1BfdXAsIGNwdSwgTlVMTCk7CisJ cmMgPSBIWVBFUlZJU09SX3ZjcHVfb3AoVkNQVU9QX3VwLCB4ZW5fdmNwdV9ucihjcHUpLCBOVUxM KTsKIAlCVUdfT04ocmMpOwogCiAJd2hpbGUgKGNwdV9yZXBvcnRfc3RhdGUoY3B1KSAhPSBDUFVf T05MSU5FKQpAQCAtNTIwLDcgKzUyMCw4IEBAIHN0YXRpYyBpbnQgeGVuX2NwdV9kaXNhYmxlKHZv aWQpCiAKIHN0YXRpYyB2b2lkIHhlbl9jcHVfZGllKHVuc2lnbmVkIGludCBjcHUpCiB7Ci0Jd2hp bGUgKHhlbl9wdl9kb21haW4oKSAmJiBIWVBFUlZJU09SX3ZjcHVfb3AoVkNQVU9QX2lzX3VwLCBj cHUsIE5VTEwpKSB7CisJd2hpbGUgKHhlbl9wdl9kb21haW4oKSAmJiBIWVBFUlZJU09SX3ZjcHVf b3AoVkNQVU9QX2lzX3VwLAorCQkJCQkJICAgICB4ZW5fdmNwdV9ucihjcHUpLCBOVUxMKSkgewog CQlfX3NldF9jdXJyZW50X3N0YXRlKFRBU0tfVU5JTlRFUlJVUFRJQkxFKTsKIAkJc2NoZWR1bGVf dGltZW91dChIWi8xMCk7CiAJfQpAQCAtNTM2LDcgKzUzNyw3IEBAIHN0YXRpYyB2b2lkIHhlbl9j cHVfZGllKHVuc2lnbmVkIGludCBjcHUpCiBzdGF0aWMgdm9pZCB4ZW5fcGxheV9kZWFkKHZvaWQp IC8qIHVzZWQgb25seSB3aXRoIEhPVFBMVUdfQ1BVICovCiB7CiAJcGxheV9kZWFkX2NvbW1vbigp OwotCUhZUEVSVklTT1JfdmNwdV9vcChWQ1BVT1BfZG93biwgc21wX3Byb2Nlc3Nvcl9pZCgpLCBO VUxMKTsKKwlIWVBFUlZJU09SX3ZjcHVfb3AoVkNQVU9QX2Rvd24sIHhlbl92Y3B1X25yKHNtcF9w cm9jZXNzb3JfaWQoKSksIE5VTEwpOwogCWNwdV9icmluZ3VwKCk7CiAJLyoKIAkgKiBjb21taXQg NGIwYzBmMjk0ICh0aWNrOiBDbGVhbnVwIE5PSFogcGVyIGNwdSBkYXRhIG9uIGNwdSBkb3duKQpA QCAtNTc2LDcgKzU3Nyw3IEBAIHN0YXRpYyB2b2lkIHN0b3Bfc2VsZih2b2lkICp2KQogCiAJc2V0 X2NwdV9vbmxpbmUoY3B1LCBmYWxzZSk7CiAKLQlIWVBFUlZJU09SX3ZjcHVfb3AoVkNQVU9QX2Rv d24sIGNwdSwgTlVMTCk7CisJSFlQRVJWSVNPUl92Y3B1X29wKFZDUFVPUF9kb3duLCB4ZW5fdmNw dV9ucihjcHUpLCBOVUxMKTsKIAlCVUcoKTsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVu L3RpbWUuYyBiL2FyY2gveDg2L3hlbi90aW1lLmMKaW5kZXggNmRlYmE1Yi4uZTg5NTY4YyAxMDA2 NDQKLS0tIGEvYXJjaC94ODYveGVuL3RpbWUuYworKysgYi9hcmNoL3g4Ni94ZW4vdGltZS5jCkBA IC0yNjMsOCArMjYzLDEwIEBAIHN0YXRpYyBpbnQgeGVuX3ZjcHVvcF9zaHV0ZG93bihzdHJ1Y3Qg Y2xvY2tfZXZlbnRfZGV2aWNlICpldnQpCiB7CiAJaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQo KTsKIAotCWlmIChIWVBFUlZJU09SX3ZjcHVfb3AoVkNQVU9QX3N0b3Bfc2luZ2xlc2hvdF90aW1l ciwgY3B1LCBOVUxMKSB8fAotCSAgICBIWVBFUlZJU09SX3ZjcHVfb3AoVkNQVU9QX3N0b3BfcGVy aW9kaWNfdGltZXIsIGNwdSwgTlVMTCkpCisJaWYgKEhZUEVSVklTT1JfdmNwdV9vcChWQ1BVT1Bf c3RvcF9zaW5nbGVzaG90X3RpbWVyLCB4ZW5fdmNwdV9ucihjcHUpLAorCQkJICAgICAgIE5VTEwp IHx8CisJICAgIEhZUEVSVklTT1JfdmNwdV9vcChWQ1BVT1Bfc3RvcF9wZXJpb2RpY190aW1lciwg eGVuX3ZjcHVfbnIoY3B1KSwKKwkJCSAgICAgICBOVUxMKSkKIAkJQlVHKCk7CiAKIAlyZXR1cm4g MDsKQEAgLTI3NCw3ICsyNzYsOCBAQCBzdGF0aWMgaW50IHhlbl92Y3B1b3Bfc2V0X29uZXNob3Qo c3RydWN0IGNsb2NrX2V2ZW50X2RldmljZSAqZXZ0KQogewogCWludCBjcHUgPSBzbXBfcHJvY2Vz c29yX2lkKCk7CiAKLQlpZiAoSFlQRVJWSVNPUl92Y3B1X29wKFZDUFVPUF9zdG9wX3BlcmlvZGlj X3RpbWVyLCBjcHUsIE5VTEwpKQorCWlmIChIWVBFUlZJU09SX3ZjcHVfb3AoVkNQVU9QX3N0b3Bf cGVyaW9kaWNfdGltZXIsIHhlbl92Y3B1X25yKGNwdSksCisJCQkgICAgICAgTlVMTCkpCiAJCUJV RygpOwogCiAJcmV0dXJuIDA7CkBAIC0yOTMsNyArMjk2LDggQEAgc3RhdGljIGludCB4ZW5fdmNw dW9wX3NldF9uZXh0X2V2ZW50KHVuc2lnbmVkIGxvbmcgZGVsdGEsCiAJLyogR2V0IGFuIGV2ZW50 IGFueXdheSwgZXZlbiBpZiB0aGUgdGltZW91dCBpcyBhbHJlYWR5IGV4cGlyZWQgKi8KIAlzaW5n bGUuZmxhZ3MgPSAwOwogCi0JcmV0ID0gSFlQRVJWSVNPUl92Y3B1X29wKFZDUFVPUF9zZXRfc2lu Z2xlc2hvdF90aW1lciwgY3B1LCAmc2luZ2xlKTsKKwlyZXQgPSBIWVBFUlZJU09SX3ZjcHVfb3Ao VkNQVU9QX3NldF9zaW5nbGVzaG90X3RpbWVyLCB4ZW5fdmNwdV9ucihjcHUpLAorCQkJCSAmc2lu Z2xlKTsKIAlCVUdfT04ocmV0ICE9IDApOwogCiAJcmV0dXJuIHJldDsKQEAgLTM5NCw3ICszOTgs OCBAQCB2b2lkIHhlbl90aW1lcl9yZXN1bWUodm9pZCkKIAkJcmV0dXJuOwogCiAJZm9yX2VhY2hf b25saW5lX2NwdShjcHUpIHsKLQkJaWYgKEhZUEVSVklTT1JfdmNwdV9vcChWQ1BVT1Bfc3RvcF9w ZXJpb2RpY190aW1lciwgY3B1LCBOVUxMKSkKKwkJaWYgKEhZUEVSVklTT1JfdmNwdV9vcChWQ1BV T1Bfc3RvcF9wZXJpb2RpY190aW1lciwKKwkJCQkgICAgICAgeGVuX3ZjcHVfbnIoY3B1KSwgTlVM TCkpCiAJCQlCVUcoKTsKIAl9CiB9CkBAIC00MTQsNyArNDE5LDggQEAgc3RhdGljIHZvaWQgX19p bml0IHhlbl90aW1lX2luaXQodm9pZCkKIAogCWNsb2Nrc291cmNlX3JlZ2lzdGVyX2h6KCZ4ZW5f Y2xvY2tzb3VyY2UsIE5TRUNfUEVSX1NFQyk7CiAKLQlpZiAoSFlQRVJWSVNPUl92Y3B1X29wKFZD UFVPUF9zdG9wX3BlcmlvZGljX3RpbWVyLCBjcHUsIE5VTEwpID09IDApIHsKKwlpZiAoSFlQRVJW SVNPUl92Y3B1X29wKFZDUFVPUF9zdG9wX3BlcmlvZGljX3RpbWVyLCB4ZW5fdmNwdV9ucihjcHUp LAorCQkJICAgICAgIE5VTEwpID09IDApIHsKIAkJLyogU3VjY2Vzc2Z1bGx5IHR1cm5lZCBvZmYg MTAwSHogdGljaywgc28gd2UgaGF2ZSB0aGUKIAkJICAgdmNwdW9wLWJhc2VkIHRpbWVyIGludGVy ZmFjZSAqLwogCQlwcmludGsoS0VSTl9ERUJVRyAiWGVuOiB1c2luZyB2Y3B1b3AgdGltZXIgaW50 ZXJmYWNlXG4iKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL2V2ZW50cy9ldmVudHNfYmFzZS5j IGIvZHJpdmVycy94ZW4vZXZlbnRzL2V2ZW50c19iYXNlLmMKaW5kZXggNzFkNDlhOS4uOGZiN2Ni ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4vZXZlbnRzL2V2ZW50c19iYXNlLmMKKysrIGIvZHJp dmVycy94ZW4vZXZlbnRzL2V2ZW50c19iYXNlLmMKQEAgLTEyMTEsNyArMTIxMSw4IEBAIHZvaWQg eGVuX3NlbmRfSVBJX29uZSh1bnNpZ25lZCBpbnQgY3B1LCBlbnVtIGlwaV92ZWN0b3IgdmVjdG9y KQogCiAjaWZkZWYgQ09ORklHX1g4NgogCWlmICh1bmxpa2VseSh2ZWN0b3IgPT0gWEVOX05NSV9W RUNUT1IpKSB7Ci0JCWludCByYyA9ICBIWVBFUlZJU09SX3ZjcHVfb3AoVkNQVU9QX3NlbmRfbm1p LCBjcHUsIE5VTEwpOworCQlpbnQgcmMgPSAgSFlQRVJWSVNPUl92Y3B1X29wKFZDUFVPUF9zZW5k X25taSwgeGVuX3ZjcHVfbnIoY3B1KSwKKwkJCQkJICAgICBOVUxMKTsKIAkJaWYgKHJjIDwgMCkK IAkJCXByaW50ayhLRVJOX1dBUk5JTkcgIlNlbmRpbmcgbm1pIHRvIENQVSVkIGZhaWxlZCAocmM6 JWQpXG4iLCBjcHUsIHJjKTsKIAkJcmV0dXJuOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vdGlt ZS5jIGIvZHJpdmVycy94ZW4vdGltZS5jCmluZGV4IDcxMDc4NDIuLjc4MWE2MzAgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMveGVuL3RpbWUuYworKysgYi9kcml2ZXJzL3hlbi90aW1lLmMKQEAgLTgyLDcg KzgyLDcgQEAgdm9pZCB4ZW5fc2V0dXBfcnVuc3RhdGVfaW5mbyhpbnQgY3B1KQogCWFyZWEuYWRk ci52ID0gJnBlcl9jcHUoeGVuX3J1bnN0YXRlLCBjcHUpOwogCiAJaWYgKEhZUEVSVklTT1JfdmNw dV9vcChWQ1BVT1BfcmVnaXN0ZXJfcnVuc3RhdGVfbWVtb3J5X2FyZWEsCi0JCQkgICAgICAgY3B1 LCAmYXJlYSkpCisJCQkgICAgICAgeGVuX3ZjcHVfbnIoY3B1KSwgJmFyZWEpKQogCQlCVUcoKTsK IH0KIAotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0 dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK