From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 2708A4F91 for ; Fri, 8 Jun 2018 04:52:55 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Jun 2018 19:52:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,489,1520924400"; d="scan'208,217";a="46164549" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga008.fm.intel.com with ESMTP; 07 Jun 2018 19:52:52 -0700 Received: from fmsmsx114.amr.corp.intel.com (10.18.116.8) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 7 Jun 2018 19:52:52 -0700 Received: from fmsmsx117.amr.corp.intel.com ([169.254.3.220]) by FMSMSX114.amr.corp.intel.com ([10.18.116.8]) with mapi id 14.03.0319.002; Thu, 7 Jun 2018 19:52:51 -0700 From: "Wiles, Keith" To: Raslan Darawsheh CC: Thomas Monjalon , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [RFC] net/tap: add queues when attaching from secondary process Thread-Index: AQHT/ltc2p14uFzXIUGxKYM283mZUqRVntkAgABHBICAADotAA== Date: Fri, 8 Jun 2018 02:52:51 +0000 Message-ID: <0D86A850-B4A4-4BAF-9D51-1F40AEE271B2@intel.com> References: <1528374591-26126-1-git-send-email-rasland@mellanox.com> <077BA557-4ED0-4BAF-AFD7-8F54116229DB@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.255.79.63] MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [RFC] net/tap: add queues when attaching from secondary process X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Jun 2018 02:52:56 -0000 DQoNCk9uIEp1biA3LCAyMDE4LCBhdCA0OjI0IFBNLCBSYXNsYW4gRGFyYXdzaGVoIDxyYXNsYW5k QG1lbGxhbm94LmNvbTxtYWlsdG86cmFzbGFuZEBtZWxsYW5veC5jb20+PiB3cm90ZToNCg0KSGks DQoNCkFzIHlvdSBrbm93IHRoYXQgY3VycmVudGx5IFRBUCBwbWQgc3VwcG9ydCBhdHRhY2hpbmcg YSBzZWNvbmRhcnkgcHJvY2VzcyB0byBhIHByaW1hcnkgcHJvY2Vzcy4NCkJ1dCwgaXQncyBzdGls bCBsYWNraW5nIHRoZSBhYmlsaXR5IHRvIGRvIFJ4L1R4IGJ1cnN0IHNpbmNlIGl0J3MgbGFja2lu ZyB0aGUgbmVjZXNzYXJ5IGZkcyBmb3IgUlgvVFggcXVldWVzLA0KQW5kIHRoZSBzZXR0aW5nIG9m IFJ4L1R4IGJ1cnN0IGZ1bmN0aW9uLg0KDQpUaGlzIHBhdGNoIHRoZSBtYWluIHB1cnBvc2UgaXMg dG8gZXhjaGFuZ2UgdGhlIGZkcyBiZXR3ZWVuIHRoZSBwcm9jZXNzZXMgdGhyb3cgdGhlIElQQyBt YXNzYWdlcw0KQW5kIHRvIHNldCB0aGUgUngvVHggZnVuY3Rpb25zIGZvciB0aGUgc2Vjb25kYXJ5 Lg0KDQpJIGhvcGUgSSBleHBsYWluZWQgaXQgcHJvcGVybHksIHBsZWFzZSBsZXQgbWUga25vdyBp ZiB5b3Ugc3RpbGwgZGlkbid0IGdldCBpdC4NCg0KSSBzZWUgdGhlIGNvZGUgc2VuZGluZyB0aGUg RkTigJlzIG9mIHByaW1hcnkgYW5kIHNlY29uZGFyeSB0byBlYWNoIG90aGVyIGFuZCB0aGUgY29k ZSBsb29rcyBmaW5lLiBUaGUgcHJvYmxlbSBJIHNlZSBpcyB3aGF0IEkgYXNrZWQgYmVmb3JlIGlu IHRoZSBjb21tZW50cyBiZWxvdywgd2hpY2ggaXMgdGhlIEZEcyBvbiBvbmUgcHJvY2VzcyBjYW4g bm90IGJlIHVzZWQgb24gYW5vdGhlciBwcm9jZXNzIHdpdGhvdXQgdGhlIGtlcm5lbCBjb252ZXJ0 aW5nIHRoZSBGRCBmb3IgdGhlIGdpdmVuIHByb2Nlc3MuIElzIHRoaXMgdGhlIGNhc2UgaGVyZSBv ciBub3Q/DQoNCmh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzgwMzc3NDYvaXMt dGhlcmUtYW4tZWFzaWVyLXdheS10by1zaGFyZS1maWxlLWRlc2NyaXB0b3JzLWJldHdlZW4tdW5y ZWxhdGVkLXByb2Nlc3Nlcy1vbg0KDQoNCktpbmRlc3QgcmVnYXJkcywNClJhc2xhbiBEYXJhd3No ZWgNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IFdpbGVzLCBLZWl0aCBbbWFp bHRvOmtlaXRoLndpbGVzQGludGVsLmNvbV0NClNlbnQ6IFRodXJzZGF5LCBKdW5lIDcsIDIwMTgg MTA6MTAgUE0NClRvOiBSYXNsYW4gRGFyYXdzaGVoIDxyYXNsYW5kQG1lbGxhbm94LmNvbTxtYWls dG86cmFzbGFuZEBtZWxsYW5veC5jb20+Pg0KQ2M6IFRob21hcyBNb25qYWxvbiA8dGhvbWFzQG1v bmphbG9uLm5ldDxtYWlsdG86dGhvbWFzQG1vbmphbG9uLm5ldD4+OyBkZXZAZHBkay5vcmc8bWFp bHRvOmRldkBkcGRrLm9yZz4NClN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtSRkNdIG5ldC90YXA6 IGFkZCBxdWV1ZXMgd2hlbiBhdHRhY2hpbmcgZnJvbSBzZWNvbmRhcnkgcHJvY2Vzcw0KDQoNCg0K T24gSnVuIDcsIDIwMTgsIGF0IDU6MjkgQU0sIFJhc2xhbiBEYXJhd3NoZWggPHJhc2xhbmRAbWVs bGFub3guY29tPG1haWx0bzpyYXNsYW5kQG1lbGxhbm94LmNvbT4+IHdyb3RlOg0KDQpJbiB0aGUg Y2FzZSB3aGVyZSB0aGUgZGV2aWNlIGlzIGNyZWF0ZWQgYnkgdGhlIHByaW1hcnkgcHJvY2Vzcy4N CkN1cnJlbnRseSwgc2Vjb25kYXJ5IHByb2Nlc3Mgb25seSBjb250YWlucyB0aGUgZXRoIGRldiB3 aXRob3V0IGJlaW5nDQphYmxlIHRvIGRvIGFueSBSeC9UeC4NCg0KV2hlbiBhdHRhY2hpbmcgdGhl IGRldmljZSBmcm9tIHNlY29uZGFyeSBwcm9jZXNzIHRoaXMgcGF0Y2ggYWRkcyBxdWV1ZXMNCmlu Zm8gZ290IGZyb20gSVBDIG1hc3NhZ2luZy4NCg0KQ2FuIHlvdSBleHBsYWluIHRoaXMgZGV0YWls cyBhIGJpdCBtb3JlIGhlcmUsIG5vdCBzdXJlIEkgZm9sbG93IHRoZSByZWFsIHByb2JsZW0gYW5k IHRoZSBzb2x1dGlvbj8NCg0KDQpTaWduZWQtb2ZmLWJ5OiBSYXNsYW4gRGFyYXdzaGVoIDxyYXNs YW5kQG1lbGxhbm94LmNvbTxtYWlsdG86cmFzbGFuZEBtZWxsYW5veC5jb20+Pg0KLS0tDQpkcml2 ZXJzL25ldC90YXAvTWFrZWZpbGUgICAgICB8ICAgMiArDQpkcml2ZXJzL25ldC90YXAvcnRlX2V0 aF90YXAuYyB8IDEwNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0N CjIgZmlsZXMgY2hhbmdlZCwgMTA2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCg0KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3RhcC9NYWtlZmlsZSBiL2RyaXZlcnMvbmV0L3RhcC9NYWtl ZmlsZQ0KaW5kZXggY2NjNWM1Zi4uOTEzNDIzYyAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0L3Rh cC9NYWtlZmlsZQ0KKysrIGIvZHJpdmVycy9uZXQvdGFwL01ha2VmaWxlDQpAQCAtMjcsNiArMjcs OCBAQCBMRExJQlMgKz0gLWxydGVfZXRoZGV2IC1scnRlX25ldCAtbHJ0ZV9rdmFyZ3MgLWxydGVf aGFzaA0KTERMSUJTICs9IC1scnRlX2J1c192ZGV2DQoNCkNGTEFHUyArPSAtRFRBUF9NQVhfUVVF VUVTPSQoVEFQX01BWF9RVUVVRVMpDQorQ0ZMQUdTICs9IC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQ SQ0KKw0KDQojDQojIGFsbCBzb3VyY2UgYXJlIHN0b3JlZCBpbiBTUkNTLXkNCmRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC90YXAvcnRlX2V0aF90YXAuYyBiL2RyaXZlcnMvbmV0L3RhcC9ydGVfZXRo X3RhcC5jDQppbmRleCA1NTMxZmU5Li4wZjRjOGQ5IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQv dGFwL3J0ZV9ldGhfdGFwLmMNCisrKyBiL2RyaXZlcnMvbmV0L3RhcC9ydGVfZXRoX3RhcC5jDQpA QCAtMTYsNiArMTYsOCBAQA0KI2luY2x1ZGUgPHJ0ZV9kZWJ1Zy5oPg0KI2luY2x1ZGUgPHJ0ZV9p cC5oPg0KI2luY2x1ZGUgPHJ0ZV9zdHJpbmdfZm5zLmg+DQorI2luY2x1ZGUgPHJ0ZV9ldGhkZXYu aD4NCisjaW5jbHVkZSA8cnRlX2Vycm5vLmg+DQoNCiNpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCiNp bmNsdWRlIDxzeXMvc3RhdC5oPg0KQEAgLTU1LDYgKzU3LDkgQEANCiNkZWZpbmUgRVRIX1RBUF9D TVBfTUFDX0ZNVCAgICAgIjAxMjM0NTY3ODlBQkNERUZhYmNkZWYiDQojZGVmaW5lIEVUSF9UQVBf TUFDX0FSR19GTVQgICAgIEVUSF9UQVBfTUFDX0ZJWEVEICJ8IiBFVEhfVEFQX1VTUl9NQUNfRk1U DQoNCisvKiBJUEMga2V5IGZvciBjb21tdW5pY2F0aW9uIG9mIHF1ZXVlIGZkcyBiZXR3ZWVuIHBy b2Nlc3Nlcy4gKi8NCisjZGVmaW5lIFRBUF9NUF9LRVkgICAgICJ0YXBfbXBfZXhjaGFuZ2VfZmRz Ig0KKw0Kc3RhdGljIHN0cnVjdCBydGVfdmRldl9kcml2ZXIgcG1kX3RhcF9kcnY7DQpzdGF0aWMg c3RydWN0IHJ0ZV92ZGV2X2RyaXZlciBwbWRfdHVuX2RydjsNCg0KQEAgLTkzLDYgKzk4LDE1IEBA IGVudW0gaW9jdGxfbW9kZSB7DQpSRU1PVEVfT05MWSwNCn07DQoNCisvKiBUbyBjb21tdW5pY2F0 ZSBxdWV1ZSBpbmZvcyBiZXR3ZWVuIHByb2Nlc3NlcyAqLw0KK3N0cnVjdCBxdWV1ZXNfZmRzIHsN CisgY2hhciBuYW1lW1JURV9ERVZfTkFNRV9NQVhfTEVOXTsNCisgaW50IG51bV9yeHFfZmRzOw0K KyBpbnQgbnVtX3R4cV9mZHM7DQorIGludCByeHFfZmRzW1JURV9QTURfVEFQX01BWF9RVUVVRVNd Ow0KKyBpbnQgdHhxX2Zkc1tSVEVfUE1EX1RBUF9NQVhfUVVFVUVTXTsNCit9Ow0KKw0Kc3RhdGlj IGludCB0YXBfaW50cl9oYW5kbGVfc2V0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCBpbnQgc2V0 KTsNCg0KLyoqDQpAQCAtMTczMSw2ICsxNzQ1LDQ3IEBAIHJ0ZV9wbWRfdHVuX3Byb2JlKHN0cnVj dCBydGVfdmRldl9kZXZpY2UgKmRldikNCnJldHVybiByZXQ7DQp9DQoNCisvKg0KKyAqIFNlbmQg dGhlIHF1ZXVlcyBmZHMgZnJvbSB0aGUgcHJpbWFyeSBwcm9jZXNzIHRvIHNlY29uZGFyeS4NCisg Ki8NCitzdGF0aWMgaW50DQordGFwX2V4Y2hhbmdlX3F1ZXVlc19mZHMoY29uc3Qgc3RydWN0IHJ0 ZV9tcF9tc2cgKm1wX21zZywgY29uc3Qgdm9pZCAqcGVlcikNCit7DQorIHN0cnVjdCBydGVfZXRo X2RldiAqZXRoX2RldjsNCisgc3RydWN0IHJ0ZV9tcF9tc2cgbXBfcmVzcDsNCisgc3RydWN0IHF1 ZXVlc19mZHMgKm91dCA9IChzdHJ1Y3QgcXVldWVzX2ZkcyAqKSZtcF9yZXNwLnBhcmFtOw0KKyBj b25zdCBzdHJ1Y3QgcXVldWVzX2ZkcyAqaW4gPSAoY29uc3Qgc3RydWN0IHF1ZXVlc19mZHMgKilt cF9tc2ctPnBhcmFtOw0KKyB1aW50MTZfdCBwb3J0X2lkOw0KKyBpbnQgaSwgcmV0Ow0KKw0KKyBU QVBfTE9HKERFQlVHLCAicmVjZWl2ZWQgcmVxdWVzdCIpOw0KKyBzdHJsY3B5KG91dC0+bmFtZSwg aW4tPm5hbWUsIHNpemVvZihvdXQtPm5hbWUpKTsNCisgcmV0ID0gcnRlX2V0aF9kZXZfZ2V0X3Bv cnRfYnlfbmFtZShpbi0+bmFtZSwgJnBvcnRfaWQpOw0KKyBpZiAocmV0KSB7DQorIFRBUF9MT0co RVJSLCAiRmFpbGVkIHRvIGdldCBkZXYgJXMiLCBpbi0+bmFtZSk7DQorIHJldHVybiAtMTsNCisg fQ0KKyBldGhfZGV2ID0gJnJ0ZV9ldGhfZGV2aWNlc1twb3J0X2lkXTsNCisgc3RydWN0IHBtZF9p bnRlcm5hbHMgKnBtZCA9IGV0aF9kZXYtPmRhdGEtPmRldl9wcml2YXRlOw0KKw0KKyAvKiBmaWxs IHRoZSBxdWV1ZXMgZmRzIGRhdGEgaW4gdGhlIHJlcGx5IG1zZyAqLw0KKyBzdHJsY3B5KG1wX3Jl c3AubmFtZSwgVEFQX01QX0tFWSwgc2l6ZW9mKG1wX3Jlc3AubmFtZSkpOw0KKyBvdXQtPm51bV9y eHFfZmRzID0gZXRoX2Rldi0+ZGF0YS0+bmJfcnhfcXVldWVzOw0KKyBmb3IgKGkgPSAwOyBpIDwg ZXRoX2Rldi0+ZGF0YS0+bmJfcnhfcXVldWVzOyBpKyspDQorIG91dC0+cnhxX2Zkc1tpXSA9IHBt ZC0+cnhxW2ldLmZkOw0KKyBvdXQtPm51bV90eHFfZmRzID0gZXRoX2Rldi0+ZGF0YS0+bmJfdHhf cXVldWVzOw0KKyBmb3IgKGkgPSAwOyBpIDwgZXRoX2Rldi0+ZGF0YS0+bmJfdHhfcXVldWVzOyBp KyspDQorIG91dC0+dHhxX2Zkc1tpXSA9IHBtZC0+dHhxW2ldLmZkOw0KKyBtcF9yZXNwLmxlbl9w YXJhbSA9IHNpemVvZigqb3V0KTsNCisgbXBfcmVzcC5udW1fZmRzID0gMDsNCisgaWYgKHJ0ZV9t cF9yZXBseSgmbXBfcmVzcCwgcGVlcikgPCAwKSB7DQorIFRBUF9MT0coRVJSLCAiRmFpbGVkIHRv IHJlcGx5IGEgZmRzIHJlcXVlc3QiKTsNCisgcmV0dXJuIC0xOw0KKyB9DQorDQorIHJldHVybiAw Ow0KK30NCisNCi8qIE9wZW4gYSBUQVAgaW50ZXJmYWNlIGRldmljZS4NCiovDQpzdGF0aWMgaW50 DQpAQCAtMTc0NCw2ICsxNzk5LDcgQEAgcnRlX3BtZF90YXBfcHJvYmUoc3RydWN0IHJ0ZV92ZGV2 X2RldmljZSAqZGV2KQ0KY2hhciByZW1vdGVfaWZhY2VbUlRFX0VUSF9OQU1FX01BWF9MRU5dOw0K c3RydWN0IGV0aGVyX2FkZHIgdXNlcl9tYWMgPSB7IC5hZGRyX2J5dGVzID0gezB9IH07DQpzdHJ1 Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXY7DQorIGludCBxdWV1ZV9pZDsNCg0Kc3RyY3B5KHR1bnRh cF9uYW1lLCAiVEFQIik7DQoNCkBAIC0xNzU3LDggKzE4MTMsNDYgQEAgcnRlX3BtZF90YXBfcHJv YmUoc3RydWN0IHJ0ZV92ZGV2X2RldmljZSAqZGV2KQ0KVEFQX0xPRyhFUlIsICJGYWlsZWQgdG8g cHJvYmUgJXMiLCBuYW1lKTsNCnJldHVybiAtMTsNCn0NCi0gLyogVE9ETzogcmVxdWVzdCBpbmZv IGZyb20gcHJpbWFyeSB0byBzZXQgdXAgUnggYW5kIFR4ICovDQpldGhfZGV2LT5kZXZfb3BzID0g Jm9wczsNCisgLyogcmVxdWVzdCBhIHN5bmMgZnJvbSB0aGUgcHJpbWFyeSBwcm9jZXNzIHRvIGdl dCBxdWV1ZXMgZmRzICovDQorIGV0aF9kZXYtPnJ4X3BrdF9idXJzdCA9IHBtZF9yeF9idXJzdDsN CisgZXRoX2Rldi0+dHhfcGt0X2J1cnN0ID0gcG1kX3R4X2J1cnN0Ow0KKyBpZiAoIXJ0ZV9lYWxf cHJpbWFyeV9wcm9jX2FsaXZlKE5VTEwpKSB7DQorIFRBUF9MT0coRVJSLCAiY2Fubm90IGluaXRp YWxpemUgc2Vjb25kYXJ5IHByb2Nlc3MgIg0KKyAid2l0aG91dCBhIHByaW1hcnkgb25lIik7DQor IHJldHVybiAgLTE7DQorIH0NCisgc3RydWN0IHJ0ZV9tcF9tc2cgbXBfcmVxLCAqbXBfcmVwOw0K KyBzdHJ1Y3QgcnRlX21wX3JlcGx5IG1wX3JlcGx5Ow0KKyBzdHJ1Y3QgdGltZXNwZWMgdHMgPSB7 LnR2X3NlYyA9IDUsIC50dl9uc2VjID0gMH07DQorIHN0cnVjdCBxdWV1ZXNfZmRzICpyZXEgPSAo c3RydWN0IHF1ZXVlc19mZHMgKiltcF9yZXEucGFyYW07DQorIHN0cnVjdCBxdWV1ZXNfZmRzICpy ZXNwOw0KDQpXaGF0IGlzIHRoZSBydWxlIGZvciBEUERLIGNvZGluZyBzdHlsZSBvZiBoYXZpbmcg ZGVjbGFyZXMgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrLCBJIHRob3VnaHQgd2Ugb25seSB3YW50 ZWQgdGhlbSBhdCB0aGUgYmVnaW5uaW5nIG9mIGJsb2NrIG9mIGNvZGUuDQoNCisNCisgc3RybGNw eShyZXEtPm5hbWUsIG5hbWUsIHNpemVvZihtcF9yZXEubmFtZSkpOw0KKyBzdHJsY3B5KG1wX3Jl cS5uYW1lLCBUQVBfTVBfS0VZLCBzaXplb2YobXBfcmVxLm5hbWUpKTsNCisgbXBfcmVxLmxlbl9w YXJhbSA9IHNpemVvZigqcmVxKTsNCisgLyogcmVxdWVzdCBmb3Igc3luYyBmcm9tIHByaW1hcnkg cHJvY2VzcyB0byBnZXQgcXVldWVzIGZkcy4gKi8NCisgaWYgKHJ0ZV9tcF9yZXF1ZXN0X3N5bmMo Jm1wX3JlcSwgJm1wX3JlcGx5LCAmdHMpID09IDAgJiYNCisgICAgbXBfcmVwbHkubmJfcmVjZWl2 ZWQgPT0gMSkgew0KKyBtcF9yZXAgPSAmbXBfcmVwbHkubXNnc1swXTsNCisgcmVzcCA9IChzdHJ1 Y3QgcXVldWVzX2ZkcyAqKW1wX3JlcC0+cGFyYW07DQorIFRBUF9MT0coSU5GTywgIlJlY2VpdmVk IGZkcyBmb3IgJWQgcnhfcXVldWVzIGFuZCAiDQorICIlZCB0eF9xdWV1ZXMiLCByZXNwLT5udW1f cnhxX2ZkcywNCisgcmVzcC0+bnVtX3R4cV9mZHMpOw0KKyB9IGVsc2Ugew0KKyBUQVBfTE9HKEVS UiwgIkZhaWxlZCB0byByZXF1ZXN0IHF1ZXVlcyBmcm9tIHByaW1hcnkiKTsNCisgcmV0dXJuIC0x Ow0KKyB9DQoNCkkgdGhvdWdodCBwYXNzaW5nIGEgRkQgZnJvbSBwcm9jZXNzIHRvIHByb2Nlc3Mg eW91IGhhZCB0byBoYXZlIHRoZSBrZXJuZWwgY29udmVydCB0aGUgRkQgdG8gdGhlIGxvY2FsIHBy b2Nlc3MgdmFsdWUuIEF0IGxlYXN0IHRoYXQgd2FzIHRoZSB3YXkgaXQgd2FzIGRvbmUgaW4gbW1h cCBtZW1vcnkgRkQuIElzIHRoaXMgdGhlIHNhbWUgcHJvYmxlbSBhbmQgbmVlZHMgdG8gYmUgc2Vu ZCBpbiBhIG1lc3NhZ2UgdXNpbmcgYSBjb250cm9sIHN0cnVjdHVyZSB3aXRoIHRoZSBjb3JyZWN0 IGZsYWdzIHNldD8NCg0KKw0KKyBzdHJ1Y3QgcG1kX2ludGVybmFscyAqcG1kID0gZXRoX2Rldi0+ ZGF0YS0+ZGV2X3ByaXZhdGU7DQorIGZvciAocXVldWVfaWQgPSAwOyBxdWV1ZV9pZCA8IHJlc3At Pm51bV9yeHFfZmRzOyBxdWV1ZV9pZCsrKQ0KKyBwbWQtPnJ4cVtxdWV1ZV9pZF0uZmQgPSByZXNw LT5yeHFfZmRzW3F1ZXVlX2lkXTsNCisNCisgZm9yIChxdWV1ZV9pZCA9IDA7IHF1ZXVlX2lkIDwg cmVzcC0+bnVtX3R4cV9mZHM7IHF1ZXVlX2lkKyspDQorIHBtZC0+dHhxW3F1ZXVlX2lkXS5mZCA9 IHJlc3AtPnR4cV9mZHNbcXVldWVfaWRdOw0KKw0KKyBUQVBfTE9HKE5PVElDRSwgIkluaXRpYWxp emluZyBzZWNvbmRhcnkgcHJvY2VzcyBwbWRfdGFwIGZvciAlcyIsDQorIG5hbWUpOw0KcnRlX2V0 aF9kZXZfcHJvYmluZ19maW5pc2goZXRoX2Rldik7DQpyZXR1cm4gMDsNCn0NCkBAIC0xODA2LDYg KzE5MDAsMTQgQEAgcnRlX3BtZF90YXBfcHJvYmUoc3RydWN0IHJ0ZV92ZGV2X2RldmljZSAqZGV2 KQ0KVEFQX0xPRyhOT1RJQ0UsICJJbml0aWFsaXppbmcgcG1kX3RhcCBmb3IgJXMgYXMgJXMiLA0K bmFtZSwgdGFwX25hbWUpOw0KDQorIC8qIHJlZ2lzdGVyIGZvciBtcCBjb21tdW5pY2F0aW9uIGJl dHdlZW4gc2Vjb25kYXJ5IGFuZCBwcmltYXJ5ICovDQorIGlmIChydGVfbXBfYWN0aW9uX3JlZ2lz dGVyKFRBUF9NUF9LRVksIHRhcF9leGNoYW5nZV9xdWV1ZXNfZmRzKSAmJg0KKyAgICBydGVfZXJy bm8gIT0gRUVYSVNUKSB7DQorIFRBUF9MT0coRVJSLCAiJXMgOiAlcyBmYWlsIHRvIHJlZ2lzdGVy IE1QIGFjdGlvbiA6ICVzIiwNCisgdHVudGFwX25hbWUsIG5hbWUsIHN0cmVycm9yKGVycm5vKSk7 DQorIHJldHVybiAgLTE7DQorIH0NCisNCnJldCA9IGV0aF9kZXZfdGFwX2NyZWF0ZShkZXYsIHRh cF9uYW1lLCByZW1vdGVfaWZhY2UsICZ1c2VyX21hYywNCkVUSF9UVU5UQVBfVFlQRV9UQVApOw0K DQpAQCAtMTgxMyw2ICsxOTE1LDcgQEAgcnRlX3BtZF90YXBfcHJvYmUoc3RydWN0IHJ0ZV92ZGV2 X2RldmljZSAqZGV2KQ0KaWYgKHJldCA9PSAtMSkgew0KVEFQX0xPRyhFUlIsICJGYWlsZWQgdG8g Y3JlYXRlIHBtZCBmb3IgJXMgYXMgJXMiLA0KbmFtZSwgdGFwX25hbWUpOw0KKyBydGVfbXBfYWN0 aW9uX3VucmVnaXN0ZXIoVEFQX01QX0tFWSk7DQp0YXBfdW5pdC0tOyAvKiBSZXN0b3JlIHRoZSB1 bml0IG51bWJlciAqLw0KfQ0KcnRlX2t2YXJnc19mcmVlKGt2bGlzdCk7DQotLQ0KMi43LjQNCg0K DQpSZWdhcmRzLA0KS2VpdGgNCg0KDQpSZWdhcmRzLA0KS2VpdGgNCg0K