From mboxrd@z Thu Jan 1 00:00:00 1970 From: Francisco Jerez Subject: [PATCH 2/3] drm/i915: Extend the parser to check register writes against a mask/value pair. Date: Fri, 29 May 2015 16:44:14 +0300 Message-ID: <1432907055-8268-2-git-send-email-currojerez@riseup.net> References: <1432907055-8268-1-git-send-email-currojerez@riseup.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.riseup.net (mx1.riseup.net [198.252.153.129]) by gabe.freedesktop.org (Postfix) with ESMTP id D8ED9A5F5 for ; Fri, 29 May 2015 06:43:53 -0700 (PDT) In-Reply-To: <1432907055-8268-1-git-send-email-currojerez@riseup.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Brad Volkin List-Id: intel-gfx@lists.freedesktop.org SW4gc29tZSBjYXNlcyBpdCBtaWdodCBiZSB1bm5lY2Vzc2FyeSBvciBkYW5nZXJvdXMgdG8gZ2l2 ZSB1c2Vyc3BhY2UKdGhlIHJpZ2h0IHRvIHdyaXRlIGFyYml0cmFyeSB2YWx1ZXMgdG8gc29tZSBy ZWdpc3RlciwgZXZlbiB0aG91Z2ggaXQKbWlnaHQgYmUgZGVzaXJhYmxlIHRvIGdpdmUgaXQgY29u dHJvbCBvZiBzb21lIG9mIGl0cyBiaXRzLiAgVGhpcyBwYXRjaApleHRlbmRzIHRoZSByZWdpc3Rl ciB3aGl0ZWxpc3QgZW50cmllcyB0byBjb250YWluIGEgbWFzay92YWx1ZSBwYWlyIGluCmFkZGl0 aW9uIHRvIHRoZSByZWdpc3RlciBvZmZzZXQuICBGb3IgcmVnaXN0ZXJzIHdpdGggbm9uLXplcm8g bWFzaywKYW55IExSTSB3cml0ZXMgYW5kIExSSSB3cml0ZXMgd2hlcmUgdGhlIGJpdHMgb2YgdGhl IGltbWVkaWF0ZSBnaXZlbiBieQp0aGUgbWFzayBkb24ndCBtYXRjaCB0aGUgc3BlY2lmaWVkIHZh bHVlIHdpbGwgYmUgcmVqZWN0ZWQuCgpUaGlzIHdpbGwgYmUgdXNlZCBpbiBteSBuZXh0IHBhdGNo IHRvIGdyYW50IHVzZXJzcGFjZSBwYXJ0aWFsIHdyaXRlCmFjY2VzcyB0byBzb21lIHNlbnNpdGl2 ZSByZWdpc3RlcnMuCgpTaWduZWQtb2ZmLWJ5OiBGcmFuY2lzY28gSmVyZXogPGN1cnJvamVyZXpA cmlzZXVwLm5ldD4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2NtZF9wYXJzZXIuYyAg fCAxMzggKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3JpbmdidWZmZXIuaCB8ICAgNSArLQogMiBmaWxlcyBjaGFuZ2VkLCA5NiBpbnNl cnRpb25zKCspLCA0NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2NtZF9wYXJzZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfY21kX3Bh cnNlci5jCmluZGV4IGM0YTVmNzMuLjdkZDIxOGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfY21kX3BhcnNlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Y21kX3BhcnNlci5jCkBAIC0zOTUsMTYgKzM5NSwzOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRy bV9pOTE1X2NtZF90YWJsZSBoc3dfYmx0X3JpbmdfY21kc1tdID0gewogCiAvKgogICogUmVnaXN0 ZXIgd2hpdGVsaXN0cywgc29ydGVkIGJ5IGluY3JlYXNpbmcgcmVnaXN0ZXIgb2Zmc2V0LgorICov CisKKy8qCisgKiBBbiBpbmRpdmlkdWFsIHdoaXRlbGlzdCBlbnRyeSBncmFudGluZyBhY2Nlc3Mg dG8gcmVnaXN0ZXIgYWRkci4gIElmCisgKiBtYXNrIGlzIG5vbi16ZXJvIHRoZSBhcmd1bWVudCBv ZiBpbW1lZGlhdGUgcmVnaXN0ZXIgd3JpdGVzIHdpbGwgYmUKKyAqIEFORC1lZCB3aXRoIG1hc2ss IGFuZCB0aGUgY29tbWFuZCB3aWxsIGJlIHJlamVjdGVkIGlmIHRoZSByZXN1bHQKKyAqIGRvZXNu J3QgbWF0Y2ggdmFsdWUuCisgKgorICogUmVnaXN0ZXJzIHdpdGggbm9uLXplcm8gbWFzayBhcmUg b25seSBhbGxvd2VkIHRvIGJlIHdyaXR0ZW4gdXNpbmcKKyAqIExSSS4KKyAqLworc3RydWN0IGRy bV9pOTE1X3JlZ19kZXNjcmlwdG9yIHsKKwl1MzIgYWRkcjsKKwl1MzIgbWFzazsKKwl1MzIgdmFs dWU7Cit9OworCisvKiBDb252ZW5pZW5jZSBtYWNybyBmb3IgYWRkaW5nIDMyLWJpdCByZWdpc3Rl cnMuICovCisjZGVmaW5lIFJFRzMyKGFkZHJlc3MsIC4uLikgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKKwl7IC5hZGRyID0gYWRkcmVzcywgX19WQV9BUkdTX18gfQorCisvKgorICogQ29u dmVuaWVuY2UgbWFjcm8gZm9yIGFkZGluZyA2NC1iaXQgcmVnaXN0ZXJzLgogICoKICAqIFNvbWUg cmVnaXN0ZXJzIHRoYXQgdXNlcnNwYWNlIGFjY2Vzc2VzIGFyZSA2NCBiaXRzLiBUaGUgcmVnaXN0 ZXIKICAqIGFjY2VzcyBjb21tYW5kcyBvbmx5IGFsbG93IDMyLWJpdCBhY2Nlc3Nlcy4gSGVuY2Us IHdlIGhhdmUgdG8gaW5jbHVkZQogICogZW50cmllcyBmb3IgYm90aCBoYWx2ZXMgb2YgdGhlIDY0 LWJpdCByZWdpc3RlcnMuCiAgKi8KKyNkZWZpbmUgUkVHNjQoYWRkcikgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAorCVJFRzMyKGFkZHIpLCBSRUczMihhZGRyICsgc2l6ZW9m KHUzMikpCiAKLS8qIENvbnZlbmllbmNlIG1hY3JvIGZvciBhZGRpbmcgNjQtYml0IHJlZ2lzdGVy cyAqLwotI2RlZmluZSBSRUc2NChhZGRyKSAoYWRkciksIChhZGRyICsgc2l6ZW9mKHUzMikpCi0K LXN0YXRpYyBjb25zdCB1MzIgZ2VuN19yZW5kZXJfcmVnc1tdID0geworc3RhdGljIGNvbnN0IHN0 cnVjdCBkcm1faTkxNV9yZWdfZGVzY3JpcHRvciBnZW43X3JlbmRlcl9yZWdzW10gPSB7CiAJUkVH NjQoR1BHUFVfVEhSRUFEU19ESVNQQVRDSEVEKSwKIAlSRUc2NChIU19JTlZPQ0FUSU9OX0NPVU5U KSwKIAlSRUc2NChEU19JTlZPQ0FUSU9OX0NPVU5UKSwKQEAgLTQxNywxNSArNDM5LDE1IEBAIHN0 YXRpYyBjb25zdCB1MzIgZ2VuN19yZW5kZXJfcmVnc1tdID0gewogCVJFRzY0KENMX1BSSU1JVElW RVNfQ09VTlQpLAogCVJFRzY0KFBTX0lOVk9DQVRJT05fQ09VTlQpLAogCVJFRzY0KFBTX0RFUFRI X0NPVU5UKSwKLQlPQUNPTlRST0wsIC8qIE9ubHkgYWxsb3dlZCBmb3IgTFJJIGFuZCBTUk0uIFNl ZSBiZWxvdy4gKi8KKwlSRUczMihPQUNPTlRST0wpLCAvKiBPbmx5IGFsbG93ZWQgZm9yIExSSSBh bmQgU1JNLiBTZWUgYmVsb3cuICovCiAJUkVHNjQoTUlfUFJFRElDQVRFX1NSQzApLAogCVJFRzY0 KE1JX1BSRURJQ0FURV9TUkMxKSwKLQlHRU43XzNEUFJJTV9FTkRfT0ZGU0VULAotCUdFTjdfM0RQ UklNX1NUQVJUX1ZFUlRFWCwKLQlHRU43XzNEUFJJTV9WRVJURVhfQ09VTlQsCi0JR0VON18zRFBS SU1fSU5TVEFOQ0VfQ09VTlQsCi0JR0VON18zRFBSSU1fU1RBUlRfSU5TVEFOQ0UsCi0JR0VON18z RFBSSU1fQkFTRV9WRVJURVgsCisJUkVHMzIoR0VON18zRFBSSU1fRU5EX09GRlNFVCksCisJUkVH MzIoR0VON18zRFBSSU1fU1RBUlRfVkVSVEVYKSwKKwlSRUczMihHRU43XzNEUFJJTV9WRVJURVhf Q09VTlQpLAorCVJFRzMyKEdFTjdfM0RQUklNX0lOU1RBTkNFX0NPVU5UKSwKKwlSRUczMihHRU43 XzNEUFJJTV9TVEFSVF9JTlNUQU5DRSksCisJUkVHMzIoR0VON18zRFBSSU1fQkFTRV9WRVJURVgp LAogCVJFRzY0KEdFTjdfU09fTlVNX1BSSU1TX1dSSVRURU4oMCkpLAogCVJFRzY0KEdFTjdfU09f TlVNX1BSSU1TX1dSSVRURU4oMSkpLAogCVJFRzY0KEdFTjdfU09fTlVNX1BSSU1TX1dSSVRURU4o MikpLApAQCAtNDM0LDMzICs0NTYsMzQgQEAgc3RhdGljIGNvbnN0IHUzMiBnZW43X3JlbmRlcl9y ZWdzW10gPSB7CiAJUkVHNjQoR0VON19TT19QUklNX1NUT1JBR0VfTkVFREVEKDEpKSwKIAlSRUc2 NChHRU43X1NPX1BSSU1fU1RPUkFHRV9ORUVERUQoMikpLAogCVJFRzY0KEdFTjdfU09fUFJJTV9T VE9SQUdFX05FRURFRCgzKSksCi0JR0VON19TT19XUklURV9PRkZTRVQoMCksCi0JR0VON19TT19X UklURV9PRkZTRVQoMSksCi0JR0VON19TT19XUklURV9PRkZTRVQoMiksCi0JR0VON19TT19XUklU RV9PRkZTRVQoMyksCi0JR0VON19MM1NRQ1JFRzEsCi0JR0VON19MM0NOVExSRUcyLAotCUdFTjdf TDNDTlRMUkVHMywKKwlSRUczMihHRU43X1NPX1dSSVRFX09GRlNFVCgwKSksCisJUkVHMzIoR0VO N19TT19XUklURV9PRkZTRVQoMSkpLAorCVJFRzMyKEdFTjdfU09fV1JJVEVfT0ZGU0VUKDIpKSwK KwlSRUczMihHRU43X1NPX1dSSVRFX09GRlNFVCgzKSksCisJUkVHMzIoR0VON19MM1NRQ1JFRzEp LAorCVJFRzMyKEdFTjdfTDNDTlRMUkVHMiksCisJUkVHMzIoR0VON19MM0NOVExSRUczKSwKIH07 CiAKLXN0YXRpYyBjb25zdCB1MzIgZ2VuN19ibHRfcmVnc1tdID0gewotCUJDU19TV0NUUkwsCitz dGF0aWMgY29uc3Qgc3RydWN0IGRybV9pOTE1X3JlZ19kZXNjcmlwdG9yIGdlbjdfYmx0X3JlZ3Nb XSA9IHsKKwlSRUczMihCQ1NfU1dDVFJMKSwKIH07CiAKLXN0YXRpYyBjb25zdCB1MzIgaXZiX21h c3Rlcl9yZWdzW10gPSB7Ci0JRk9SQ0VXQUtFX01ULAotCURFUlJNUiwKLQlHRU43X1BJUEVfREVf TE9BRF9TTChQSVBFX0EpLAotCUdFTjdfUElQRV9ERV9MT0FEX1NMKFBJUEVfQiksCi0JR0VON19Q SVBFX0RFX0xPQURfU0woUElQRV9DKSwKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcmVn X2Rlc2NyaXB0b3IgaXZiX21hc3Rlcl9yZWdzW10gPSB7CisJUkVHMzIoRk9SQ0VXQUtFX01UKSwK KwlSRUczMihERVJSTVIpLAorCVJFRzMyKEdFTjdfUElQRV9ERV9MT0FEX1NMKFBJUEVfQSkpLAor CVJFRzMyKEdFTjdfUElQRV9ERV9MT0FEX1NMKFBJUEVfQikpLAorCVJFRzMyKEdFTjdfUElQRV9E RV9MT0FEX1NMKFBJUEVfQykpLAogfTsKIAotc3RhdGljIGNvbnN0IHUzMiBoc3dfbWFzdGVyX3Jl Z3NbXSA9IHsKLQlGT1JDRVdBS0VfTVQsCi0JREVSUk1SLAorc3RhdGljIGNvbnN0IHN0cnVjdCBk cm1faTkxNV9yZWdfZGVzY3JpcHRvciBoc3dfbWFzdGVyX3JlZ3NbXSA9IHsKKwlSRUczMihGT1JD RVdBS0VfTVQpLAorCVJFRzMyKERFUlJNUiksCiB9OwogCiAjdW5kZWYgUkVHNjQKKyN1bmRlZiBS RUczMgogCiBzdGF0aWMgdTMyIGdlbjdfcmVuZGVyX2dldF9jbWRfbGVuZ3RoX21hc2sodTMyIGNt ZF9oZWFkZXIpCiB7CkBAIC01NTAsMTQgKzU3MywxNiBAQCBzdGF0aWMgYm9vbCB2YWxpZGF0ZV9j bWRzX3NvcnRlZChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAogCXJldHVybiByZXQ7CiB9 CiAKLXN0YXRpYyBib29sIGNoZWNrX3NvcnRlZChpbnQgcmluZ19pZCwgY29uc3QgdTMyICpyZWdf dGFibGUsIGludCByZWdfY291bnQpCitzdGF0aWMgYm9vbCBjaGVja19zb3J0ZWQoaW50IHJpbmdf aWQsCisJCQkgY29uc3Qgc3RydWN0IGRybV9pOTE1X3JlZ19kZXNjcmlwdG9yICpyZWdfdGFibGUs CisJCQkgaW50IHJlZ19jb3VudCkKIHsKIAlpbnQgaTsKIAl1MzIgcHJldmlvdXMgPSAwOwogCWJv b2wgcmV0ID0gdHJ1ZTsKIAogCWZvciAoaSA9IDA7IGkgPCByZWdfY291bnQ7IGkrKykgewotCQl1 MzIgY3VyciA9IHJlZ190YWJsZVtpXTsKKwkJdTMyIGN1cnIgPSByZWdfdGFibGVbaV0uYWRkcjsK IAogCQlpZiAoY3VyciA8IHByZXZpb3VzKSB7CiAJCQlEUk1fRVJST1IoIkNNRDogdGFibGUgbm90 IHNvcnRlZCByaW5nPSVkIGVudHJ5PSVkIHJlZz0weCUwOFggcHJldj0weCUwOFhcbiIsCkBAIC04 MDQsMTggKzgyOSwyMCBAQCBmaW5kX2NtZChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAog CXJldHVybiBkZWZhdWx0X2Rlc2M7CiB9CiAKLXN0YXRpYyBib29sIHZhbGlkX3JlZyhjb25zdCB1 MzIgKnRhYmxlLCBpbnQgY291bnQsIHUzMiBhZGRyKQorc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1f aTkxNV9yZWdfZGVzY3JpcHRvciAqCitmaW5kX3JlZyhjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcmVn X2Rlc2NyaXB0b3IgKnRhYmxlLAorCSBpbnQgY291bnQsIHUzMiBhZGRyKQogewotCWlmICh0YWJs ZSAmJiBjb3VudCAhPSAwKSB7CisJaWYgKHRhYmxlKSB7CiAJCWludCBpOwogCiAJCWZvciAoaSA9 IDA7IGkgPCBjb3VudDsgaSsrKSB7Ci0JCQlpZiAodGFibGVbaV0gPT0gYWRkcikKLQkJCQlyZXR1 cm4gdHJ1ZTsKKwkJCWlmICh0YWJsZVtpXS5hZGRyID09IGFkZHIpCisJCQkJcmV0dXJuICZ0YWJs ZVtpXTsKIAkJfQogCX0KIAotCXJldHVybiBmYWxzZTsKKwlyZXR1cm4gTlVMTDsKIH0KIAogc3Rh dGljIHUzMiAqdm1hcF9iYXRjaChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLApAQCAt OTY2LDYgKzk5MywyMCBAQCBzdGF0aWMgYm9vbCBjaGVja19jbWQoY29uc3Qgc3RydWN0IGludGVs X2VuZ2luZV9jcyAqcmluZywKIAkJZm9yIChvZmZzZXQgPSBkZXNjLT5yZWcub2Zmc2V0OyBvZmZz ZXQgPCBsZW5ndGg7CiAJCSAgICAgb2Zmc2V0ICs9IHN0ZXApIHsKIAkJCWNvbnN0IHUzMiByZWdf YWRkciA9IGNtZFtvZmZzZXRdICYgZGVzYy0+cmVnLm1hc2s7CisJCQljb25zdCBzdHJ1Y3QgZHJt X2k5MTVfcmVnX2Rlc2NyaXB0b3IgKnJlZyA9CisJCQkJZmluZF9yZWcocmluZy0+cmVnX3RhYmxl LCByaW5nLT5yZWdfY291bnQsCisJCQkJCSByZWdfYWRkcik7CisKKwkJCWlmICghcmVnICYmIGlz X21hc3RlcikKKwkJCQlyZWcgPSBmaW5kX3JlZyhyaW5nLT5tYXN0ZXJfcmVnX3RhYmxlLAorCQkJ CQkgICAgICAgcmluZy0+bWFzdGVyX3JlZ19jb3VudCwKKwkJCQkJICAgICAgIHJlZ19hZGRyKTsK KworCQkJaWYgKCFyZWcpIHsKKwkJCQlEUk1fREVCVUdfRFJJVkVSKCJDTUQ6IFJlamVjdGVkIHJl Z2lzdGVyIDB4JTA4WCBpbiBjb21tYW5kOiAweCUwOFggKHJpbmc9JWQpXG4iLAorCQkJCQkJIHJl Z19hZGRyLCAqY21kLCByaW5nLT5pZCk7CisJCQkJcmV0dXJuIGZhbHNlOworCQkJfQogCiAJCQkv KgogCQkJICogT0FDT05UUk9MIHJlcXVpcmVzIHNvbWUgc3BlY2lhbCBoYW5kbGluZyBmb3IKQEAg LTk4NywxNSArMTAyOCwyMiBAQCBzdGF0aWMgYm9vbCBjaGVja19jbWQoY29uc3Qgc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqcmluZywKIAkJCQkJKm9hY29udHJvbF9zZXQgPSAoY21kW29mZnNldCAr IDFdICE9IDApOwogCQkJfQogCi0JCQlpZiAoIXZhbGlkX3JlZyhyaW5nLT5yZWdfdGFibGUsCi0J CQkJICAgICAgIHJpbmctPnJlZ19jb3VudCwgcmVnX2FkZHIpKSB7Ci0JCQkJaWYgKCFpc19tYXN0 ZXIgfHwKLQkJCQkgICAgIXZhbGlkX3JlZyhyaW5nLT5tYXN0ZXJfcmVnX3RhYmxlLAotCQkJCQkg ICAgICAgcmluZy0+bWFzdGVyX3JlZ19jb3VudCwKLQkJCQkJICAgICAgIHJlZ19hZGRyKSkgewot CQkJCQlEUk1fREVCVUdfRFJJVkVSKCJDTUQ6IFJlamVjdGVkIHJlZ2lzdGVyIDB4JTA4WCBpbiBj b21tYW5kOiAweCUwOFggKHJpbmc9JWQpXG4iLAotCQkJCQkJCSByZWdfYWRkciwgKmNtZCwKLQkJ CQkJCQkgcmluZy0+aWQpOworCQkJLyoKKwkJCSAqIENoZWNrIHRoZSB2YWx1ZSB3cml0dGVuIHRv IHRoZSByZWdpc3RlciBhZ2FpbnN0IHRoZQorCQkJICogYWxsb3dlZCBtYXNrL3ZhbHVlIHBhaXIg Z2l2ZW4gaW4gdGhlIHdoaXRlbGlzdCBlbnRyeS4KKwkJCSAqLworCQkJaWYgKHJlZy0+bWFzaykg eworCQkJCWlmIChkZXNjLT5jbWQudmFsdWUgPT0gTUlfTE9BRF9SRUdJU1RFUl9NRU0pIHsKKwkJ CQkJRFJNX0RFQlVHX0RSSVZFUigiQ01EOiBSZWplY3RlZCBMUk0gdG8gbWFza2VkIHJlZ2lzdGVy IDB4JTA4WFxuIiwKKwkJCQkJCQkgcmVnX2FkZHIpOworCQkJCQlyZXR1cm4gZmFsc2U7CisJCQkJ fQorCisJCQkJaWYgKGRlc2MtPmNtZC52YWx1ZSA9PSBNSV9MT0FEX1JFR0lTVEVSX0lNTSgxKSAm JgorCQkJCSAgICAob2Zmc2V0ICsgMiA+IGxlbmd0aCB8fAorCQkJCSAgICAgKGNtZFtvZmZzZXQg KyAxXSAmIHJlZy0+bWFzaykgIT0gcmVnLT52YWx1ZSkpIHsKKwkJCQkJRFJNX0RFQlVHX0RSSVZF UigiQ01EOiBSZWplY3RlZCBMUkkgdG8gbWFza2VkIHJlZ2lzdGVyIDB4JTA4WFxuIiwKKwkJCQkJ CQkgcmVnX2FkZHIpOwogCQkJCQlyZXR1cm4gZmFsc2U7CiAJCQkJfQogCQkJfQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCmluZGV4IGM3NjFmZTAuLmRlYWI2Zjc2IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCkBAIC0xMTcsNiArMTE3LDcgQEAg c3RydWN0IGludGVsX3JpbmdidWZmZXIgewogfTsKIAogc3RydWN0CWludGVsX2NvbnRleHQ7Citz dHJ1Y3QgZHJtX2k5MTVfcmVnX2Rlc2NyaXB0b3I7CiAKIHN0cnVjdCAgaW50ZWxfZW5naW5lX2Nz IHsKIAljb25zdCBjaGFyCSpuYW1lOwpAQCAtMjkyLDE0ICsyOTMsMTQgQEAgc3RydWN0ICBpbnRl bF9lbmdpbmVfY3MgewogCS8qCiAJICogVGFibGUgb2YgcmVnaXN0ZXJzIGFsbG93ZWQgaW4gY29t bWFuZHMgdGhhdCByZWFkL3dyaXRlIHJlZ2lzdGVycy4KIAkgKi8KLQljb25zdCB1MzIgKnJlZ190 YWJsZTsKKwljb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcmVnX2Rlc2NyaXB0b3IgKnJlZ190YWJsZTsK IAlpbnQgcmVnX2NvdW50OwogCiAJLyoKIAkgKiBUYWJsZSBvZiByZWdpc3RlcnMgYWxsb3dlZCBp biBjb21tYW5kcyB0aGF0IHJlYWQvd3JpdGUgcmVnaXN0ZXJzLCBidXQKIAkgKiBvbmx5IGZyb20g dGhlIERSTSBtYXN0ZXIuCiAJICovCi0JY29uc3QgdTMyICptYXN0ZXJfcmVnX3RhYmxlOworCWNv bnN0IHN0cnVjdCBkcm1faTkxNV9yZWdfZGVzY3JpcHRvciAqbWFzdGVyX3JlZ190YWJsZTsKIAlp bnQgbWFzdGVyX3JlZ19jb3VudDsKIAogCS8qCi0tIAoyLjMuNQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK