From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id DDDFE6E55E for ; Thu, 20 Jun 2019 08:40:27 +0000 (UTC) From: Simon Ser Date: Thu, 20 Jun 2019 11:40:40 +0300 Message-Id: <20190620084040.31911-1-simon.ser@intel.com> In-Reply-To: <20190619155518.25129-10-simon.ser@intel.com> References: <20190619155518.25129-10-simon.ser@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v3] lib/igt_chamelium: autodiscover Chamelium port mappings List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: martin.peres@intel.com List-ID: VGhpcyByZW1vdmVzIHRoZSBuZWVkIGZvciBjb25maWd1cmluZyBDaGFtZWxpdW0gcG9ydHMgaW4g LmlndHJjLCBtYWtpbmcgaXQgYm90aAplYXNpZXIgYW5kIGxlc3MgZXJyb3ItcHJvbmUgdG8gc2V0 dXAgQ2hhbWVsaXVtIGJvYXJkcy4KCkEgbmV3IGZ1bmN0aW9uIGNoYW1lbGl1bV9hdXRvZGlzY292 ZXIgc2V0cyBhIGRpZmZlcmVudCBFRElEIG9uIGVhY2ggQ2hhbWVsaXVtCnBvcnQgYW5kIHBsdWdz IHRoZW0uIFdlIHRoZW4gd2FsayB0aGUgbGlzdCBvZiBEUk0gY29ubmVjdG9ycywgcmVhZCBiYWNr IHRoZQpFRElEIGFuZCBpbmZlciB0aGUgbWFwcGluZy4KClRoZSBFRElEIHNlcmlhbCBudW1iZXIg aXMgdXNlZCB0byB0ZWxsIGVhY2ggcG9ydCBhcGFydC4gSW4gY2FzZSBhIG1hcHBpbmcgaXMKYWxy ZWFkeSBjb25maWd1cmVkIGluIHRoZSAuaWd0cmMgZmlsZSwgd2UgY2hlY2sgdGhhdCBpdCdzIGNv bnNpc3RlbnQuCgpNU1QgaXMgbm90IGhhbmRsZWQgeWV0IChyZXF1aXJlcyByZWZhY3RvcmluZyBl eGlzdGluZyB0ZXN0cyBzaW5jZSBjb25uZWN0b3IgSURzCmFyZW4ndCBzdGFibGUpLgoKU2lnbmVk LW9mZi1ieTogU2ltb24gU2VyIDxzaW1vbi5zZXJAaW50ZWwuY29tPgotLS0KCkNoYW5nZXMgZnJv bSB2MiB0byB2MzoKLSBGaXggYXNzZXJ0aW9uIGZhaWx1cmUgd2hlbiBFRElEIGJsb2IgaXMgemVy bwotIExvZyBhdXRvLWRpc2NvdmVyeSBkdXJhdGlvbgotIEZpeCBhbHJlYWR5LWNvbmZpZ3VyZWQg bWFwcGluZ3MgYmVpbmcgc2tpcHBlZAotIE9wdGltaXplIGF1dG8tZGlzY292ZXJ5IGJ5IG5vdCBy ZXNldHRpbmcgdGhlIENoYW1lbGl1bSBiZWZvcmUgc3RhcnRpbmcgdGVzdHMKICAodGhlIENoYW1l bGl1bSBoYWQgcG9ydHMgZW5hYmxlZCBhbmQgd2Fzbid0IHJlc2V0IGJlZm9yZSB0ZXN0aW5nIGJl Zm9yZSB0aGlzCiAgcGF0Y2gsIHNvIHRoaXMgc2hvdWxkIGJlIGZpbmUpCgpPbiBteSBzZXR1cCBh dXRvLWRpc2NvdmVyeSB0YWtlcyBhIGxpdHRsZSBsZXNzIHRoYW4gNTAwbXMuIEFzIGEgc2lkZSBu b3RlLCB0aGUKQ2hhbWVsaXVtIHRlYXJkb3duIHNlcXVlbmNlIHRha2VzIHJvdWdobHkgdGhlIHNh bWUgdGltZS4KCiBsaWIvaWd0X2NoYW1lbGl1bS5jIHwgMjA5ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgMjA3IGluc2VydGlvbnMo KyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliL2lndF9jaGFtZWxpdW0uYyBiL2xp Yi9pZ3RfY2hhbWVsaXVtLmMKaW5kZXggZGNjNTllOWYwYjA0Li44YmIzN2FkM2NmOWIgMTAwNjQ0 Ci0tLSBhL2xpYi9pZ3RfY2hhbWVsaXVtLmMKKysrIGIvbGliL2lndF9jaGFtZWxpdW0uYwpAQCAt MzU4LDcgKzM1OCw3IEBAIHN0YXRpYyB4bWxycGNfdmFsdWUgKmNoYW1lbGl1bV9ycGMoc3RydWN0 IGNoYW1lbGl1bSAqY2hhbWVsaXVtLAogICovCiB2b2lkIGNoYW1lbGl1bV9wbHVnKHN0cnVjdCBj aGFtZWxpdW0gKmNoYW1lbGl1bSwgc3RydWN0IGNoYW1lbGl1bV9wb3J0ICpwb3J0KQogewotCWln dF9kZWJ1ZygiUGx1Z2dpbmcgJXNcbiIsIHBvcnQtPm5hbWUpOworCWlndF9kZWJ1ZygiUGx1Z2dp bmcgJXMgKENoYW1lbGl1bSBwb3J0IElEICVkKVxuIiwgcG9ydC0+bmFtZSwgcG9ydC0+aWQpOwog CXhtbHJwY19ERUNSRUYoY2hhbWVsaXVtX3JwYyhjaGFtZWxpdW0sIE5VTEwsICJQbHVnIiwgIihp KSIsIHBvcnQtPmlkKSk7CiB9CgpAQCAtMTgyOCw2ICsxODI4LDIwOCBAQCBvdXQ6CiAJcmV0dXJu IHJldDsKIH0KCisvKioKKyAqIGF1dG9kaXNjb3Zlcl9wb3J0czogbGlzdCBvZiBwb3J0cyB3aGlj aCBjYW4gYmUgYXV0by1kaXNjb3ZlcmVkCisgKgorICogU2VlIHRoaXMgZmlsZSBmb3IgYSBsaXN0 IG9mIENoYW1lbGl1bSBwb3J0czoKKyAqIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNv bS9jaHJvbWl1bW9zL3BsYXRmb3JtL2NoYW1lbGVvbi8rL21hc3Rlci9jaGFtZWxlb25kL3V0aWxz L2lkcy5weQorICovCitzdGF0aWMgY29uc3QgaW50IGF1dG9kaXNjb3Zlcl9wb3J0c1tdID0gezEs IDIsIDMsIDR9OworCisjZGVmaW5lIEFVVE9ESVNDT1ZFUl9QT1JUU19MRU4gKHNpemVvZihhdXRv ZGlzY292ZXJfcG9ydHMpIC8gc2l6ZW9mKGF1dG9kaXNjb3Zlcl9wb3J0c1swXSkpCisKK3N0YXRp YyBpbnQgcG9ydF9pZF9mcm9tX2VkaWQoaW50IGRybV9mZCwgZHJtTW9kZUNvbm5lY3RvciAqY29u bmVjdG9yKQoreworCWludCBwb3J0X2lkID0gLTE7CisJYm9vbCBvazsKKwl1aW50NjRfdCBlZGlk X2Jsb2JfaWQ7CisJZHJtTW9kZVByb3BlcnR5QmxvYlJlcyAqZWRpZF9ibG9iOworCWNvbnN0IHN0 cnVjdCBlZGlkICplZGlkOworCWNoYXIgbWZnWzNdOworCisJaWYgKGNvbm5lY3Rvci0+Y29ubmVj dGlvbiAhPSBEUk1fTU9ERV9DT05ORUNURUQpIHsKKwkJaWd0X2RlYnVnKCJTa2lwcGluZyBhdXRv LWRpc2NvdmVyeSBmb3IgY29ubmVjdG9yICVzLSVkOiAiCisJCQkgICJjb25uZWN0b3Igc3RhdHVz IGlzIG5vdCBjb25uZWN0ZWRcbiIsCisJCQkgIGttc3Rlc3RfY29ubmVjdG9yX3R5cGVfc3RyKGNv bm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUpLAorCQkJICBjb25uZWN0b3ItPmNvbm5lY3Rvcl90eXBl X2lkKTsKKwkJcmV0dXJuIC0xOworCX0KKworCW9rID0ga21zdGVzdF9nZXRfcHJvcGVydHkoZHJt X2ZkLCBjb25uZWN0b3ItPmNvbm5lY3Rvcl9pZCwKKwkJCQkgIERSTV9NT0RFX09CSkVDVF9DT05O RUNUT1IsICJFRElEIiwKKwkJCQkgIE5VTEwsICZlZGlkX2Jsb2JfaWQsIE5VTEwpOworCWlmICgh b2sgfHwgIWVkaWRfYmxvYl9pZCkgeworCQlpZ3RfZGVidWcoIlNraXBwaW5nIGF1dG8tZGlzY292 ZXJ5IGZvciBjb25uZWN0b3IgJXMtJWQ6ICIKKwkJCSAgIm1pc3NpbmcgdGhlIEVESUQgcHJvcGVy dHlcbiIsCisJCQkgIGttc3Rlc3RfY29ubmVjdG9yX3R5cGVfc3RyKGNvbm5lY3Rvci0+Y29ubmVj dG9yX3R5cGUpLAorCQkJICBjb25uZWN0b3ItPmNvbm5lY3Rvcl90eXBlX2lkKTsKKwkJcmV0dXJu IC0xOworCX0KKworCWVkaWRfYmxvYiA9IGRybU1vZGVHZXRQcm9wZXJ0eUJsb2IoZHJtX2ZkLCBl ZGlkX2Jsb2JfaWQpOworCWlndF9hc3NlcnQoZWRpZF9ibG9iKTsKKworCWVkaWQgPSAoY29uc3Qg c3RydWN0IGVkaWQgKikgZWRpZF9ibG9iLT5kYXRhOworCisJZWRpZF9nZXRfbWZnKGVkaWQsIG1m Zyk7CisJaWYgKG1lbWNtcChtZmcsICJJR1QiLCAzKSAhPSAwKSB7CisJCWlndF9kZWJ1ZygiU2tp cHBpbmcgY29ubmVjdG9yICVzLSVkIGZvciBhdXRvLWRpc2NvdmVyeTogIgorCQkJICAibWFudWZh Y3R1cmVyIGlzICUuM3MsIG5vdCBJR1RcbiIsCisJCQkgIGttc3Rlc3RfY29ubmVjdG9yX3R5cGVf c3RyKGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUpLAorCQkJICBjb25uZWN0b3ItPmNvbm5lY3Rv cl90eXBlX2lkLCBtZmcpOworCQlnb3RvIG91dDsKKwl9CisKKwlpZiAoZWRpZC0+cHJvZF9jb2Rl WzBdICE9ICdDJyB8fCBlZGlkLT5wcm9kX2NvZGVbMV0gIT0gJ0gnKSB7CisJCWlndF93YXJuKCJJ bnZhbGlkIEVESUQgZm9yIElHVCBjb25uZWN0b3IgJXMtJWQ6ICIKKwkJCSAgImludmFsaWQgcHJv ZHVjdCBjb2RlXG4iLAorCQkJICBrbXN0ZXN0X2Nvbm5lY3Rvcl90eXBlX3N0cihjb25uZWN0b3It PmNvbm5lY3Rvcl90eXBlKSwKKwkJCSAgY29ubmVjdG9yLT5jb25uZWN0b3JfdHlwZV9pZCk7CisJ CWdvdG8gb3V0OworCX0KKworCXBvcnRfaWQgPSAqKHVpbnQzMl90ICopICZlZGlkLT5zZXJpYWw7 CisJaWd0X2RlYnVnKCJBdXRvLWRpc2NvdmVyeSBtYXBwZWQgY29ubmVjdG9yICVzLSVkIHRvIENo YW1lbGl1bSAiCisJCSAgInBvcnQgSUQgJWRcbiIsCisJCSAga21zdGVzdF9jb25uZWN0b3JfdHlw ZV9zdHIoY29ubmVjdG9yLT5jb25uZWN0b3JfdHlwZSksCisJCSAgY29ubmVjdG9yLT5jb25uZWN0 b3JfdHlwZV9pZCwgcG9ydF9pZCk7CisKK291dDoKKwlkcm1Nb2RlRnJlZVByb3BlcnR5QmxvYihl ZGlkX2Jsb2IpOworCXJldHVybiBwb3J0X2lkOworfQorCisvKioKKyAqIGNoYW1lbGl1bV9hdXRv ZGlzY292ZXI6IFRPRE8KKyAqLworc3RhdGljIGJvb2wgY2hhbWVsaXVtX2F1dG9kaXNjb3Zlcihz dHJ1Y3QgY2hhbWVsaXVtICpjaGFtZWxpdW0sIGludCBkcm1fZmQpCit7CisJZHJtTW9kZVJlcyAq cmVzOworCWRybU1vZGVDb25uZWN0b3IgKmNvbm5lY3RvcjsKKwlzdHJ1Y3QgY2hhbWVsaXVtX3Bv cnQgKnBvcnQ7CisJc2l6ZV90IGksIGosIHBvcnRfaW5kZXg7CisJaW50IHBvcnRfaWQ7CisJdWlu dDMyX3QgY29ubl9pZDsKKwlzdHJ1Y3QgY2hhbWVsaXVtX2VkaWQgKmVkaWQ7CisJYm9vbCBmb3Vu ZDsKKwl1aW50MzJfdCBhdXRvZGlzY292ZXJlZFtBVVRPRElTQ09WRVJfUE9SVFNfTEVOXSA9IHsw fTsKKwljaGFyIGNvbm5fbmFtZVs2NF07CisJc3RydWN0IHRpbWVzcGVjIHN0YXJ0OworCXVpbnQ2 NF90IGVsYXBzZWRfbnM7CisKKwlpZ3RfZGVidWcoIlN0YXJ0aW5nIENoYW1lbGl1bSBwb3J0IGF1 dG8tZGlzY292ZXJ5XG4iKTsKKwlpZ3RfZ2V0dGltZSgmc3RhcnQpOworCisJZWRpZCA9IGNoYW1l bGl1bV9uZXdfZWRpZChjaGFtZWxpdW0sIGlndF9rbXNfZ2V0X2Jhc2VfZWRpZCgpKTsKKworCS8q IFNldCBFRElEIGFuZCBwbHVnIHBvcnRzIHdlIHdhbnQgdG8gYXV0by1kaXNjb3ZlciAqLworCXBv cnRfaW5kZXggPSBjaGFtZWxpdW0tPnBvcnRfY291bnQ7CisJZm9yIChpID0gMDsgaSA8IEFVVE9E SVNDT1ZFUl9QT1JUU19MRU47IGkrKykgeworCQlwb3J0X2lkID0gYXV0b2Rpc2NvdmVyX3BvcnRz W2ldOworCisJCS8qIEdldCBvciBhZGQgYSBjaGFtZWxpdW1fcG9ydCBzbG90ICovCisJCXBvcnQg PSBOVUxMOworCQlmb3IgKGogPSAwOyBqIDwgY2hhbWVsaXVtLT5wb3J0X2NvdW50OyBqKyspIHsK KwkJCWlmIChjaGFtZWxpdW0tPnBvcnRzW2pdLmlkID09IHBvcnRfaWQpIHsKKwkJCQlwb3J0ID0g JmNoYW1lbGl1bS0+cG9ydHNbal07CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwkJaWYgKCFwb3J0 KSB7CisJCQlpZ3RfYXNzZXJ0KHBvcnRfaW5kZXggPCBDSEFNRUxJVU1fTUFYX1BPUlRTKTsKKwkJ CXBvcnQgPSAmY2hhbWVsaXVtLT5wb3J0c1twb3J0X2luZGV4XTsKKwkJCXBvcnRfaW5kZXgrKzsK KworCQkJcG9ydC0+aWQgPSBwb3J0X2lkOworCQl9CisKKwkJY2hhbWVsaXVtX3BvcnRfc2V0X2Vk aWQoY2hhbWVsaXVtLCBwb3J0LCBlZGlkKTsKKwkJY2hhbWVsaXVtX3BsdWcoY2hhbWVsaXVtLCBw b3J0KTsKKwl9CisKKwkvKiBSZXByb2JlIGNvbm5lY3RvcnMgYW5kIGJ1aWxkIHRoZSBtYXBwaW5n ICovCisJcmVzID0gZHJtTW9kZUdldFJlc291cmNlcyhkcm1fZmQpOworCWlmICghcmVzKQorCQly ZXR1cm4gZmFsc2U7CisKKwlmb3IgKGkgPSAwOyBpIDwgcmVzLT5jb3VudF9jb25uZWN0b3JzOyBp KyspIHsKKwkJY29ubl9pZCA9IHJlcy0+Y29ubmVjdG9yc1tpXTsKKworCQkvKiBSZWFkIHRoZSBF RElEIGFuZCBwYXJzZSB0aGUgQ2hhbWVsaXVtIHBvcnQgSUQgd2Ugc3RvcmVkCisJCSAqIHRoZXJl LiAqLworCQljb25uZWN0b3IgPSBkcm1Nb2RlR2V0Q29ubmVjdG9yQ3VycmVudChkcm1fZmQsCisJ CQkJCQkgICAgICAgcmVzLT5jb25uZWN0b3JzW2ldKTsKKwkJcG9ydF9pZCA9IHBvcnRfaWRfZnJv bV9lZGlkKGRybV9mZCwgY29ubmVjdG9yKTsKKwkJZHJtTW9kZUZyZWVDb25uZWN0b3IoY29ubmVj dG9yKTsKKwkJaWYgKHBvcnRfaWQgPCAwKQorCQkJY29udGludWU7CisKKwkJLyogSWYgd2UgYWxy ZWFkeSBoYXZlIGEgbWFwcGluZyBmcm9tIHRoZSBjb25maWcgZmlsZSwgY2hlY2sKKwkJICogdGhh dCBpdCdzIGNvbnNpc3RlbnQuICovCisJCWZvdW5kID0gZmFsc2U7CisJCWZvciAoaiA9IDA7IGog PCBjaGFtZWxpdW0tPnBvcnRfY291bnQ7IGorKykgeworCQkJcG9ydCA9ICZjaGFtZWxpdW0tPnBv cnRzW2pdOworCQkJaWYgKHBvcnQtPmNvbm5lY3Rvcl9pZCA9PSBjb25uX2lkKSB7CisJCQkJZm91 bmQgPSB0cnVlOworCQkJCWlndF9hc3NlcnRfZihwb3J0LT5pZCA9PSBwb3J0X2lkLAorCQkJCQkg ICAgICJJbmNvbnNpc3RlbmN5IGRldGVjdGVkIGluIC5pZ3RyYzogIgorCQkJCQkgICAgICJjb25u ZWN0b3IgJXMgaXMgY29uZmlndXJlZCB3aXRoICIKKwkJCQkJICAgICAiQ2hhbWVsaXVtIHBvcnQg JWQsIGJ1dCBpcyAiCisJCQkJCSAgICAgImNvbm5lY3RlZCB0byBwb3J0ICVkXG4iLAorCQkJCQkg ICAgIHBvcnQtPm5hbWUsIHBvcnQtPmlkLCBwb3J0X2lkKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJ fQorCQlpZiAoZm91bmQpCisJCQljb250aW51ZTsKKworCQkvKiBHZXQgZ290IGEgbmV3IG1hcHBp bmcgKi8KKwkJZm91bmQgPSBmYWxzZTsKKwkJZm9yIChqID0gMDsgaiA8IEFVVE9ESVNDT1ZFUl9Q T1JUU19MRU47IGorKykgeworCQkJaWYgKHBvcnRfaWQgPT0gYXV0b2Rpc2NvdmVyX3BvcnRzW2pd KSB7CisJCQkJZm91bmQgPSB0cnVlOworCQkJCWF1dG9kaXNjb3ZlcmVkW2pdID0gY29ubl9pZDsK KwkJCQlicmVhazsKKwkJCX0KKwkJfQorCQlpZ3RfYXNzZXJ0X2YoZm91bmQsICJBdXRvLWRpc2Nv dmVyZWQgYSBwb3J0ICglZCkgd2UgaGF2ZW4ndCAiCisJCQkgICAgICJzZXR1cFxuIiwgcG9ydF9p ZCk7CisJfQorCisJZHJtTW9kZUZyZWVSZXNvdXJjZXMocmVzKTsKKworCS8qIFdlIG5vdyBoYXZl IGEgQ2hhbWVsaXVtIHBvcnQgSUQg4oaUIERSTSBjb25uZWN0b3IgSUQgbWFwcGluZzoKKwkgKiBh dXRvZGlzY292ZXJfcG9ydHMgY29udGFpbnMgdGhlIENoYW1lbGl1bSBwb3J0IElEcyBhbmQKKwkg KiBhdXRvZGlzY292ZXJlZCBjb250YWlucyB0aGUgRFJNIGNvbm5lY3RvciBJRHMuICovCisJZm9y IChpID0gMDsgaSA8IEFVVE9ESVNDT1ZFUl9QT1JUU19MRU47IGkrKykgeworCQlwb3J0X2lkID0g YXV0b2Rpc2NvdmVyX3BvcnRzW2ldOworCQljb25uX2lkID0gYXV0b2Rpc2NvdmVyZWRbaV07CisJ CWlmICghY29ubl9pZCkgeworCQkJY29udGludWU7CisJCX0KKworCQlwb3J0ID0gJmNoYW1lbGl1 bS0+cG9ydHNbY2hhbWVsaXVtLT5wb3J0X2NvdW50XTsKKwkJY2hhbWVsaXVtLT5wb3J0X2NvdW50 Kys7CisKKwkJcG9ydC0+aWQgPSBwb3J0X2lkOworCQlwb3J0LT50eXBlID0gY2hhbWVsaXVtX2dl dF9wb3J0X3R5cGUoY2hhbWVsaXVtLCBwb3J0KTsKKwkJcG9ydC0+Y29ubmVjdG9yX2lkID0gY29u bl9pZDsKKworCQljb25uZWN0b3IgPSBkcm1Nb2RlR2V0Q29ubmVjdG9yQ3VycmVudChkcm1fZmQs IGNvbm5faWQpOworCQlzbnByaW50Zihjb25uX25hbWUsIHNpemVvZihjb25uX25hbWUpLCAiJXMt JXUiLAorCQkJIGttc3Rlc3RfY29ubmVjdG9yX3R5cGVfc3RyKGNvbm5lY3Rvci0+Y29ubmVjdG9y X3R5cGUpLAorCQkJIGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGVfaWQpOworCQlkcm1Nb2RlRnJl ZUNvbm5lY3Rvcihjb25uZWN0b3IpOworCQlwb3J0LT5uYW1lID0gc3RyZHVwKGNvbm5fbmFtZSk7 CisJfQorCisJZWxhcHNlZF9ucyA9IGlndF9uc2VjX2VsYXBzZWQoJnN0YXJ0KTsKKwlpZ3RfZGVi dWcoIkF1dG8tZGlzY292ZXJ5IHRvb2sgJWZtc1xuIiwKKwkJICAoZmxvYXQpIGVsYXBzZWRfbnMg LyAoMTAwMCAqIDEwMDApKTsKKworCXJldHVybiB0cnVlOworfQorCiBzdGF0aWMgYm9vbCBjaGFt ZWxpdW1fcmVhZF9jb25maWcoc3RydWN0IGNoYW1lbGl1bSAqY2hhbWVsaXVtLCBpbnQgZHJtX2Zk KQogewogCUdFcnJvciAqZXJyb3IgPSBOVUxMOwpAQCAtMTg0NSw3ICsyMDQ3LDEwIEBAIHN0YXRp YyBib29sIGNoYW1lbGl1bV9yZWFkX2NvbmZpZyhzdHJ1Y3QgY2hhbWVsaXVtICpjaGFtZWxpdW0s IGludCBkcm1fZmQpCiAJCXJldHVybiBmYWxzZTsKIAl9CgotCXJldHVybiBjaGFtZWxpdW1fcmVh ZF9wb3J0X21hcHBpbmdzKGNoYW1lbGl1bSwgZHJtX2ZkKTsKKwlpZiAoIWNoYW1lbGl1bV9yZWFk X3BvcnRfbWFwcGluZ3MoY2hhbWVsaXVtLCBkcm1fZmQpKSB7CisJCXJldHVybiBmYWxzZTsKKwl9 CisJcmV0dXJuIGNoYW1lbGl1bV9hdXRvZGlzY292ZXIoY2hhbWVsaXVtLCBkcm1fZmQpOwogfQoK IC8qKgotLQoyLjIyLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==