From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (xvm-189-124.dc0.ghst.net [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 80F51A09FF; Wed, 6 Jan 2021 13:31:07 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3A7B116096D; Wed, 6 Jan 2021 13:31:07 +0100 (CET) Received: from NAM04-SN1-obe.outbound.protection.outlook.com (mail-eopbgr700058.outbound.protection.outlook.com [40.107.70.58]) by mails.dpdk.org (Postfix) with ESMTP id C7D2416096B for ; Wed, 6 Jan 2021 13:31:05 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CWFlH2a1+ovZvS4hTZ2poN7ccN2OaFtVPxSLBfloPbueh7uSVL5qfTK9toYIwuSFRH9ugAHZ7cQehg3J/yFvhxbJRVkHe31IoW0Y88T/PxQBzu5UDFTK0T+CMyGVWLdMHij9awOd3vpN8C97jJAqtv3lzhMiCne4530iLyXVVemaKZ0zkwW52Xu99Sro0nS1jj0UI7GY1RcB4O5htQ3HO8qrQo59TQ8Y5H8C3x6wbeIaxX9hMgw0JWMhmKoG8/UuxUewWt5BjoCNonrbf3N2H/Q1ZosxzP9AnGezZQKVejEIE1WstA7rq5HFcHZ8FFPGmjL5qd0MA0ZKQUq29kVBYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nGcpKd9a7awn8sWbAbsX+fxpYd+oUu6YqmFFgF6MD9Q=; b=ijPB6SOgjXxfVKNVLTMNQ5bAqHQ/ep9vg8GOkPgpjLTlQze2JUweT30vk0cLEXMZoJUYLFlziheOCIgPsmVxN4HX0ET3vSiJbFUmc4LX4fan6eXSue3qzNUF4qwlMmirNxmKxjB9ghuPESU9RUYOkYSEoJVCSS6GOsjzjE0M7lRTl+HoBIJc5jKgLoZydNhvjzIazwoN13d2FPSVOzPlTxi9OpTKHpE9RsXCIwgiVqixO27rpYU7rmUZ0XKqtuxIJSgyCbP7tPb3I5wF+IoHhaH0OWi3xjL4Mg7ETfEQPKTxdOeuFPELczliawF2HLaU0N3FJqqKs55XlNS1T1w6Vw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nGcpKd9a7awn8sWbAbsX+fxpYd+oUu6YqmFFgF6MD9Q=; b=2SC0u7MJtycKXAzQNI7Un0pdaVEHtd+obr3NAX07bKjS+LwXKAbb08r9/ma6o6/NytqZXwwOGGP113vvZvdWzbSLWLgIH9Li5UuWwrcw81xicOtohxTXBNgShaTs8pd4p7Nm+/wIjRHEAZhwBPyRMBVLQpHhgmyBqsMMx4R2/80= Received: from BYAPR12MB2821.namprd12.prod.outlook.com (2603:10b6:a03:9b::30) by BY5PR12MB4306.namprd12.prod.outlook.com (2603:10b6:a03:206::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3721.23; Wed, 6 Jan 2021 12:31:02 +0000 Received: from BYAPR12MB2821.namprd12.prod.outlook.com ([fe80::c9e:efb6:8cd1:5a6d]) by BYAPR12MB2821.namprd12.prod.outlook.com ([fe80::c9e:efb6:8cd1:5a6d%4]) with mapi id 15.20.3742.006; Wed, 6 Jan 2021 12:31:02 +0000 From: "Somalapuram, Amaranath" To: Ferruh Yigit , "dev@dpdk.org" Thread-Topic: [PATCH v4] net/axgbe: support sfp module EEPROM Thread-Index: AQHW2DCVkanWQANFN06ItT0PwxQLdqoXmhQAgAMAOkA= Date: Wed, 6 Jan 2021 12:31:02 +0000 Message-ID: References: <20201222070157.521188-1-asomalap@amd.com> <0466be3c-1017-4416-b737-11f603ede7e2@intel.com> In-Reply-To: <0466be3c-1017-4416-b737-11f603ede7e2@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_ActionId=b4338189-ca46-4e7a-af31-067950c6e4c9; MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_ContentBits=0; MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_Enabled=true; MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_Method=Privileged; MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_Name=Non-Business; MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_SetDate=2021-01-06T12:27:14Z; MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; dlp-product: dlpe-windows dlp-version: 11.5.0.60 dlp-reaction: no-action authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=amd.com; x-originating-ip: [165.204.158.249] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 9414b023-0fd3-48c8-945f-08d8b23eee33 x-ms-traffictypediagnostic: BY5PR12MB4306: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: j1SvcxpH+QOGdsYNYhIt0gtHoywS1feOOJko57P88xtipIjx2NfdhySB14dD5YxuU9Rnn1wchveOeJKQ3ZFkhQaZxEhWzxqbmxpXZEbPblwBGYKDZAuu1M0OsSPcf4quJmqVTIdk0cwSaUIoRvX/VQVAvZIZs+lCYVjPD2JQlYaxyMDZefC0okKP+XSWgoutSrmt6zKSuySp2LWZZMCyUY5DSMvlhAn4jLUhSnP46LBGRGoBhIxw06PkWfGjOPTmXPZEJyHaE8sIuEV9vJ26szTQdYnSpzZxSax4L9fSIXMX7er+oG4No0dVNnexSZnmab6WNL4OSjgtLrYJ19NqET3d8gh78caRRn0G/wKjEpc9q5FqWv3W15d/UpywMR2avoQJHyMsdFke7nY9HXNh97Ps+NN4LYhra42eCWQuARKfFxM/jarFQfLSDv4NE3L7 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR12MB2821.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(39860400002)(346002)(396003)(366004)(136003)(478600001)(53546011)(8936002)(76116006)(55016002)(9686003)(52536014)(8676002)(186003)(71200400001)(7696005)(6506007)(66446008)(66476007)(5660300002)(2906002)(86362001)(316002)(66556008)(83380400001)(110136005)(26005)(64756008)(66946007)(33656002)(581094003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?VGhpMDErSFRQdGhxbWxJYXV5bTcwVk5KZlVnZUZ2WUJneGRFYTEwSzFPUEpD?= =?utf-8?B?VWV0NnRXSXUwY0lpVUk2NlRJMCt4MXAyUzdZaFBKaFIwb0JsZ0RBcWFqVi85?= =?utf-8?B?REVUTXhCNHJGcFdqdWxRc2R5Zi9KQTRxV1dwK0cyVEplU1ljTVJjazdGTWVx?= =?utf-8?B?NWpuVFdVc1hVdU1aNHVycURQaTlUcVNVUjJkelN4V01rYy84Z1RtNXkvaEJy?= =?utf-8?B?OU5DYkVHU2x2TmdVTDd3emdJUkh0VkxFLzg2aFgyNG1xNzdLTUE5VW5vTXBI?= =?utf-8?B?S2VMam8rZitPbGU5Z2VEd1UvT2pqVzVTMm9iVlRhdDlRQVUvbytWSXpla3hE?= =?utf-8?B?SDRVc015VjFwb1RzbXR1emh1VGVBZTkxQkk4MXhSYzhPUVpNYWlJelY5VFhL?= =?utf-8?B?M3d2OU1rUFZYaTFBUGlKWWk3SURZUFhlVCtJZjQ1RkVZejVQeUNhRHNoejND?= =?utf-8?B?L3NOYlhONStlN214QkNlR0NobnFacThzazdMaU1vdEp6RVJOVzg1eTI1VENY?= =?utf-8?B?MWZrZ0lXak5Rd1EvaWRhR0NQeDQ4Z2hEcVQrd2k2NGF5UnZUbXNvMjZpS2lU?= =?utf-8?B?bU1aZHg3UnlreW9GVnoyS1VEeHc2UGh4Z2NsM09iZkNvR1dQT0pYVWp1MFg3?= =?utf-8?B?ek5CK0dnK3oxSTkxellXSnNISUdGSHBPc3VpTUFyNVNwRGtKMzlQbUdsZjRa?= =?utf-8?B?aFhhUDZZbXRKcStyYndjemVwVkROb3BpQU12ejR1NHZ0K3B4V0g2Qlk1dURt?= =?utf-8?B?NzZLRHB4Q05TQlBGcEQvVkc4dXNJb21Wb2dUd2tNVGRJeG10NEt5Y0ZxcUZN?= =?utf-8?B?MnVjTUlFZ09JSnBndGVSNFF1TDIwKy9uNi9EY1VPWjd4azVjVE85VzVZK3p0?= =?utf-8?B?TTZXWU9PdGtYSGgvbzNrRk5Kcm9wWERhOG9YNVY5NzdxajR2c2p0VW9YbUxP?= =?utf-8?B?OHNNTEREWmdwL1ZURTRMaGNOU1gzSmRoMXMzTWxCZzNMQk50RlN0K09Vdms3?= =?utf-8?B?VXFORXpZWFBZUE56NGlSMnJBUC84aDlZWFlXQ29hVkRtZ1h6VmpNTnd0eThX?= =?utf-8?B?WWVtMkw3RU9EMHdldnUyZ04yRktxOGJySWp0NmxiS1JFK3MrRFFFQi9KZmpV?= =?utf-8?B?RDFmaGFkQmZpN05nbWxRNndFY3VtdnRBMWYvU0tkOTByS2hSWjgyVHVRZHRw?= =?utf-8?B?c2IrOHAxZlpQSHFTNjdMVllac3MzaEdQWUxhM2RmWk5Ib1dWK3lSVFpIYWlV?= =?utf-8?B?YjhDbjlIODgvQ3BwSUlldFpsOTNkM3pKOE9yQkVnMlJXK1JBTG43ZFhxQmJF?= =?utf-8?Q?dtdL8miC5U72g=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR12MB2821.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9414b023-0fd3-48c8-945f-08d8b23eee33 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jan 2021 12:31:02.6269 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: D1ftDu96h2TpAITKfG/2pA5rLVXqRv69iZ7VfU1KOw9vIh+nuCYv30oMcw+Zt+vXrLO/CdTRd8DbbCYr3DbAmA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4306 Subject: Re: [dpdk-dev] [PATCH v4] net/axgbe: support sfp module EEPROM X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" DQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBGZXJydWggWWlnaXQgPGZlcnJ1 aC55aWdpdEBpbnRlbC5jb20+IA0KU2VudDogTW9uZGF5LCBKYW51YXJ5IDQsIDIwMjEgNzo1NCBQ TQ0KVG86IFNvbWFsYXB1cmFtLCBBbWFyYW5hdGggPEFtYXJhbmF0aC5Tb21hbGFwdXJhbUBhbWQu Y29tPjsgZGV2QGRwZGsub3JnDQpTdWJqZWN0OiBSZTogW1BBVENIIHY0XSBuZXQvYXhnYmU6IHN1 cHBvcnQgc2ZwIG1vZHVsZSBFRVBST00NCg0KW0NBVVRJT046IEV4dGVybmFsIEVtYWlsXQ0KDQpP biAxMi8yMi8yMDIwIDc6MDEgQU0sIGFzb21hbGFwQGFtZC5jb20gd3JvdGU6DQo+IEZyb206IEFt YXJhbmF0aCBTb21hbGFwdXJhbSA8QW1hcmFuYXRoLlNvbWFsYXB1cmFtQGFtZC5jb20+DQo+DQo+ IEFkZGluZyBBUEkgZm9yIGdldF9tb2R1bGVfZWVwcm9tIGFuZCBnZXRfbW9kdWxlX2luZm8ud3EN Cj4NCj4gU2lnbmVkLW9mZi1ieTogQW1hcmFuYXRoIFNvbWFsYXB1cmFtIDxBbWFyYW5hdGguU29t YWxhcHVyYW1AYW1kLmNvbT4NCj4gLS0tDQo+ICAgZG9jL2d1aWRlcy9uaWNzL2ZlYXR1cmVzL2F4 Z2JlLmluaSB8ICAgMSArDQo+ICAgZHJpdmVycy9uZXQvYXhnYmUvYXhnYmVfZXRoZGV2LmMgICB8 ICAgMiArDQo+ICAgZHJpdmVycy9uZXQvYXhnYmUvYXhnYmVfcGh5LmggICAgICB8ICAgNCArKw0K PiAgIGRyaXZlcnMvbmV0L2F4Z2JlL2F4Z2JlX3BoeV9pbXBsLmMgfCAxMDggKysrKysrKysrKysr KysrKysrKysrKysrKysrKysNCj4gICA0IGZpbGVzIGNoYW5nZWQsIDExNSBpbnNlcnRpb25zKCsp DQo+DQo+IGRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL25pY3MvZmVhdHVyZXMvYXhnYmUuaW5pIA0K PiBiL2RvYy9ndWlkZXMvbmljcy9mZWF0dXJlcy9heGdiZS5pbmkNCj4gaW5kZXggMzRkZjBkMWVl Li4zYTA5MDE4M2UgMTAwNjQ0DQo+IC0tLSBhL2RvYy9ndWlkZXMvbmljcy9mZWF0dXJlcy9heGdi ZS5pbmkNCj4gKysrIGIvZG9jL2d1aWRlcy9uaWNzL2ZlYXR1cmVzL2F4Z2JlLmluaQ0KPiBAQCAt MTcsNiArMTcsNyBAQCBDUkMgb2ZmbG9hZCAgICAgICAgICA9IFkNCj4gICBMMyBjaGVja3N1bSBv ZmZsb2FkICA9IFkNCj4gICBMNCBjaGVja3N1bSBvZmZsb2FkICA9IFkNCj4gICBCYXNpYyBzdGF0 cyAgICAgICAgICA9IFkNCj4gK01vZHVsZSBFRVBST00gZHVtcCAgID0gWQ0KPiAgIExpbnV4IFVJ TyAgICAgICAgICAgID0gWQ0KPiAgIHg4Ni0zMiAgICAgICAgICAgICAgID0gWQ0KPiAgIHg4Ni02 NCAgICAgICAgICAgICAgID0gWQ0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvYXhnYmUvYXhn YmVfZXRoZGV2LmMgDQo+IGIvZHJpdmVycy9uZXQvYXhnYmUvYXhnYmVfZXRoZGV2LmMNCj4gaW5k ZXggY2ZlNmFiYTczLi4yMmUwNWU4Y2IgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L2F4Z2Jl L2F4Z2JlX2V0aGRldi5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L2F4Z2JlL2F4Z2JlX2V0aGRldi5j DQo+IEBAIC0yNTcsNiArMjU3LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBldGhfZGV2X29wcyBh eGdiZV9ldGhfZGV2X29wcyA9IHsNCj4gICAgICAgLnRpbWVzeW5jX2FkanVzdF90aW1lICAgICAg ICAgPSBheGdiZV90aW1lc3luY19hZGp1c3RfdGltZSwNCj4gICAgICAgLnRpbWVzeW5jX3JlYWRf dGltZSAgICAgICAgICAgPSBheGdiZV90aW1lc3luY19yZWFkX3RpbWUsDQo+ICAgICAgIC50aW1l c3luY193cml0ZV90aW1lICAgICAgICAgID0gYXhnYmVfdGltZXN5bmNfd3JpdGVfdGltZSwNCj4g KyAgICAgLmdldF9tb2R1bGVfaW5mbyAgICAgICAgICAgICAgPSBheGdiZV9nZXRfbW9kdWxlX2lu Zm8sDQo+ICsgICAgIC5nZXRfbW9kdWxlX2VlcHJvbSAgICAgICAgICAgID0gYXhnYmVfZ2V0X21v ZHVsZV9lZXByb20sDQo+ICAgfTsNCj4NCj4gICBzdGF0aWMgaW50IGF4Z2JlX3BoeV9yZXNldChz dHJ1Y3QgYXhnYmVfcG9ydCAqcGRhdGEpIGRpZmYgLS1naXQgDQo+IGEvZHJpdmVycy9uZXQvYXhn YmUvYXhnYmVfcGh5LmggYi9kcml2ZXJzL25ldC9heGdiZS9heGdiZV9waHkuaCBpbmRleCANCj4g NzdlZTIwYTMxLi5kOWQ3ZmRlNDEgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L2F4Z2JlL2F4 Z2JlX3BoeS5oDQo+ICsrKyBiL2RyaXZlcnMvbmV0L2F4Z2JlL2F4Z2JlX3BoeS5oDQo+IEBAIC0x ODgsNSArMTg4LDkgQEANCj4gICAjZGVmaW5lIERVUExFWF9GVUxMICAgICAgICAgICAgIDB4MDEN Cj4gICAjZGVmaW5lIERVUExFWF9VTktOT1dOICAgICAgICAgIDB4ZmYNCj4NCj4gK2ludCBheGdi ZV9nZXRfbW9kdWxlX2luZm8oc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZXRoX2Rldl9tb2R1bGVfaW5mbyANCj4gKypt b2RpbmZvKTsgaW50IGF4Z2JlX2dldF9tb2R1bGVfZWVwcm9tKHN0cnVjdCBydGVfZXRoX2RldiAq ZGV2LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZGV2X2Vl cHJvbV9pbmZvICppbmZvKTsNCj4gICAjZW5kaWYNCj4gICAvKiBQSFkgKi8NCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmV0L2F4Z2JlL2F4Z2JlX3BoeV9pbXBsLmMgDQo+IGIvZHJpdmVycy9uZXQv YXhnYmUvYXhnYmVfcGh5X2ltcGwuYw0KPiBpbmRleCAwMjIzNmVjMTkuLmFmMThhOGQ1MSAxMDA2 NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvYXhnYmUvYXhnYmVfcGh5X2ltcGwuYw0KPiArKysgYi9k cml2ZXJzL25ldC9heGdiZS9heGdiZV9waHlfaW1wbC5jDQo+IEBAIC0xNDEsMTIgKzE0MSwxOCBA QCBlbnVtIGF4Z2JlX3NmcF9zcGVlZCB7DQo+DQo+ICAgI2RlZmluZSBBWEdCRV9TRlBfRVhURF9D QyAgICAgICAgICAgICAgICAgICAzMQ0KPg0KPiArI2RlZmluZSBBWEdCRV9TRlBfRUVQUk9NX1BB R0VfU0laRSAgICAgICAgICAgMjU2DQo+ICsNCj4gICBzdHJ1Y3QgYXhnYmVfc2ZwX2VlcHJvbSB7 DQo+ICAgICAgIHU4IGJhc2VbNjRdOw0KPiAgICAgICB1OCBleHRkWzMyXTsNCj4gICAgICAgdTgg dmVuZG9yWzMyXTsNCj4gICB9Ow0KPg0KPiArc3RydWN0IGF4Z2JlX3NmcF9lZXByb21fbW9kdWxl IHsNCj4gKyAgICAgdTggYmFzZVtBWEdCRV9TRlBfRUVQUk9NX1BBR0VfU0laRV07IH07DQo+ICsN Cj4gICAjZGVmaW5lIEFYR0JFX0JFTF9GVVNFX1ZFTkRPUiAgICAgICAiQkVMLUZVU0UiDQo+ICAg I2RlZmluZSBBWEdCRV9CRUxfRlVTRV9QQVJUTk8gICAgICAgIjFHQlQtU0ZQMDYiDQo+DQo+IEBA IC03MzQsNiArNzQwLDEwOCBAQCBzdGF0aWMgaW50IGF4Z2JlX3BoeV9zZnBfcmVhZF9lZXByb20o c3RydWN0IGF4Z2JlX3BvcnQgKnBkYXRhKQ0KPiAgICAgICByZXR1cm4gcmV0Ow0KPiAgIH0NCj4N Cj4gK2ludCBheGdiZV9nZXRfbW9kdWxlX2luZm8oc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZXRoX2Rldl9tb2R1bGVf aW5mbyAqbW9kaW5mbykgDQo+ICt7DQo+ICsgICAgIHN0cnVjdCBheGdiZV9wb3J0ICpwZGF0YSA9 IGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGU7DQo+ICsgICAgIHN0cnVjdCBheGdiZV9zZnBfZWVwcm9t IHNmcF9lZXByb207DQo+ICsgICAgIHVpbnQ4X3QgZWVwcm9tX2FkZHI7DQo+ICsgICAgIGludCBy ZXQ7DQo+ICsNCj4gKyAgICAgcmV0ID0gYXhnYmVfcGh5X2dldF9jb21tX293bmVyc2hpcChwZGF0 YSk7DQo+ICsNCj4gKyAgICAgaWYgKHJldCkNCj4gKyAgICAgICAgICAgICByZXR1cm4gLUVJTzsN Cj4gKw0KPiArICAgICByZXQgPSBheGdiZV9waHlfc2ZwX2dldF9tdXgocGRhdGEpOw0KPiArDQo+ ICsgICAgIGlmIChyZXQpIHsNCj4gKyAgICAgICAgICAgICBQTURfRFJWX0xPRyhFUlIsICJJMkMg ZXJyb3Igc2V0dGluZyBTRlAgTVVYXG4iKTsNCj4gKyAgICAgICAgICAgICBnb3RvIHB1dDsNCj4g KyAgICAgfQ0KPiArDQo+ICsgICAgIGVlcHJvbV9hZGRyID0gMDsNCj4gKyAgICAgcmV0ID0gYXhn YmVfcGh5X2kyY19yZWFkKHBkYXRhLCBBWEdCRV9TRlBfU0VSSUFMX0lEX0FERFJFU1MsDQo+ICsg ICAgICAgICAgICAgICAgICAgICAmZWVwcm9tX2FkZHIsIHNpemVvZihlZXByb21fYWRkciksDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgJnNmcF9lZXByb20sIHNpemVvZihzZnBfZWVwcm9tKSk7 DQo+ICsNCj4gKyAgICAgaWYgKHJldCkgew0KPiArICAgICAgICAgICAgIFBNRF9EUlZfTE9HKEVS UiwgIkkyQyBlcnJvciByZWFkaW5nIFNGUCBFRVBST01cbiIpOw0KPiArICAgICAgICAgICAgIGdv dG8gcHV0Ow0KPiArICAgICB9DQo+ICsNCj4gKyAgICAgaWYgKHNmcF9lZXByb20uZXh0ZFtBWEdC RV9TRlBfRVhURF9TRkZfODQ3Ml0gIT0gMHhmZikgew0KDQpUaGUgJ2Vsc2UnIGNhc2Ugb2YgdGhp cyBjaGVjayBzZWVtcyB3cm9uZywgd2hpY2ggcmV0dXJucyBzdWNjZXNzIGJ1dCBkb2Vzbid0IHNl dCBtb2RpbmZvIGNvcnJlY3RseS4NCg0KSSBoYXZlIHVzZWQgdGhlIHJlZmVyZW5jZSBjb2RlIGZy b20gaTQwZV9ldGhkZXYuYyBhbmQgaXhnYmVfZXRoZGV2LmMuIGxldCBtZSBrbm93IHlvdXIgaW5w dXRzLg0KDQo+ICsgICAgICAgICAgICAgaWYgKHNmcF9lZXByb20uZXh0ZFtBWEdCRV9TRlBfRVhU RF9TRkZfODQ3Ml0gPT0gMCkgew0KPiArICAgICAgICAgICAgICAgICAgICAgbW9kaW5mby0+dHlw ZSA9IFJURV9FVEhfTU9EVUxFX1NGRl84MDc5Ow0KPiArICAgICAgICAgICAgICAgICAgICAgbW9k aW5mby0+ZWVwcm9tX2xlbiA9IFJURV9FVEhfTU9EVUxFX1NGRl84MDc5X0xFTjsNCj4gKyAgICAg ICAgICAgICB9IGVsc2Ugew0KPiArICAgICAgICAgICAgICAgICAgICAgbW9kaW5mby0+dHlwZSA9 IFJURV9FVEhfTU9EVUxFX1NGRl84NDcyOw0KPiArICAgICAgICAgICAgICAgICAgICAgbW9kaW5m by0+ZWVwcm9tX2xlbiA9IFJURV9FVEhfTU9EVUxFX1NGRl84NDcyX0xFTjsNCj4gKyAgICAgICAg ICAgICB9DQo+ICsgICAgIH0NCj4gKw0KPiArcHV0Og0KPiArICAgICBheGdiZV9waHlfc2ZwX3B1 dF9tdXgocGRhdGEpOw0KPiArICAgICBheGdiZV9waHlfcHV0X2NvbW1fb3duZXJzaGlwKHBkYXRh KTsNCj4gKyAgICAgcmV0dXJuIHJldDsNCj4gK30NCj4gKw0KPiAraW50IGF4Z2JlX2dldF9tb2R1 bGVfZWVwcm9tKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3QgcnRlX2Rldl9lZXByb21faW5mbyAqaW5mbykgew0KPiArICAgICBz dHJ1Y3QgYXhnYmVfcG9ydCAqcGRhdGEgPSBkZXYtPmRhdGEtPmRldl9wcml2YXRlOw0KPiArICAg ICBzdHJ1Y3QgYXhnYmVfc2ZwX2VlcHJvbV9tb2R1bGUgc2ZwX2VlcHJvbTsNCj4gKyAgICAgdWlu dDhfdCBlZXByb21fYWRkcjsNCj4gKyAgICAgdWludDhfdCAqZGF0YTsNCj4gKyAgICAgdWludDMy X3QgaTsNCj4gKyAgICAgaW50IHJldDsNCj4gKw0KPiArICAgICByZXQgPSBheGdiZV9waHlfZ2V0 X2NvbW1fb3duZXJzaGlwKHBkYXRhKTsNCj4gKw0KPiArICAgICBpZiAocmV0KQ0KPiArICAgICAg ICAgICAgIHJldHVybiAtRUlPOw0KPiArDQo+ICsgICAgIGlmICghaW5mbyB8fCAhaW5mby0+bGVu Z3RoIHx8ICFpbmZvLT5kYXRhKSB7DQoNClVwIHRvIHlvdSBidXQgaXQgbWF5IGJlIGVhc2llciB0 byB2ZXJpZnkgdGhlIGlucHV0IGFuZCBmYWlsIGJlZm9yZSB0YWtpbmcgdGhlIG93bmVyc2hpcCBv ZiB0aGUgZGV2aWNlIGZpcnN0Lg0KQWdyZWVkLg0KPiArICAgICAgICAgICAgIGF4Z2JlX3BoeV9w dXRfY29tbV9vd25lcnNoaXAocGRhdGEpOw0KPiArICAgICAgICAgICAgIHJldHVybiAtRUlOVkFM Ow0KPiArICAgICB9DQo+ICsNCj4gKyAgICAgcmV0ID0gYXhnYmVfcGh5X3NmcF9nZXRfbXV4KHBk YXRhKTsNCj4gKyAgICAgaWYgKHJldCkgew0KPiArICAgICAgICAgICAgIFBNRF9EUlZfTE9HKEVS UiwgIkkyQyBlcnJvciBzZXR0aW5nIFNGUCBNVVhcbiIpOw0KPiArICAgICAgICAgICAgIGdvdG8g cHV0Ow0KPiArICAgICB9DQoNCkp1c3QgYSBzeW50YXggaXNzdWUsIHNvbWUgbGluZXMgaGFzIGFu IGVtcHR5IGxpbmUgYmV0d2VlbiAncmV0JyBhc3NpZ25tZW50IGFuZCAncmV0JyBjaGVjaywgYnV0 IHNvbWUgZG9lcyBub3QgKGFzIGFib3ZlKSwgY2FuIHlvdSBwbGVhc2UgbWFrZSBpdCBjb25zaXN0 ZW50Lg0KQWdyZWVkLg0KPiArDQo+ICsgICAgIGVlcHJvbV9hZGRyID0gMDsNCj4gKyAgICAgcmV0 ID0gYXhnYmVfcGh5X2kyY19yZWFkKHBkYXRhLCBBWEdCRV9TRlBfU0VSSUFMX0lEX0FERFJFU1Ms DQo+ICsgICAgICAgICAgICAgICAgICAgICAmZWVwcm9tX2FkZHIsIHNpemVvZihlZXByb21fYWRk ciksDQo+ICsgICAgICAgICAgICAgICAgICAgICAmc2ZwX2VlcHJvbSwgc2l6ZW9mKHNmcF9lZXBy b20pKTsNCj4gKyAgICAgaWYgKHJldCkgew0KPiArICAgICAgICAgICAgIFBNRF9EUlZfTE9HKEVS UiwgIkkyQyBlcnJvciByZWFkaW5nIFNGUCBFRVBST01cbiIpOw0KPiArICAgICAgICAgICAgIGdv dG8gcHV0Ow0KPiArICAgICB9DQo+ICsgICAgIGRhdGEgPSBpbmZvLT5kYXRhOw0KPiArDQo+ICsg ICAgIC8qIGZvciBBWEdCRV9TRlBfU0VSSUFMX0lEX0FERFJFU1MgKi8NCj4gKyAgICAgZm9yIChp ID0gMDsgaSA8IEFYR0JFX1NGUF9FRVBST01fUEFHRV9TSVpFOyBpKyspDQo+ICsgICAgICAgICAg ICAgZGF0YVtpXSA9IHNmcF9lZXByb20uYmFzZVtpXTsNCg0KU2hvdWxkIGNoZWNrIGlmICdpbmZv LT5sZW5ndGgnID4gJ0FYR0JFX1NGUF9TRVJJQUxfSURfQUREUkVTUycgYmVmb3JlIGFib3ZlIGFz c2lnbm1lbnQuDQpBZ3JlZWQuDQo+ICsNCj4gKyAgICAgZWVwcm9tX2FkZHIgPSAwOw0KPiArICAg ICByZXQgPSBheGdiZV9waHlfaTJjX3JlYWQocGRhdGEsIEFYR0JFX1NGUF9ESUFHX0lORk9fQURE UkVTUywNCj4gKyAgICAgICAgICAgICAgICAgICAgICZlZXByb21fYWRkciwgc2l6ZW9mKGVlcHJv bV9hZGRyKSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICZzZnBfZWVwcm9tLCBzaXplb2Yoc2Zw X2VlcHJvbSkpOw0KPiArDQo+ICsgICAgIC8qIGZvciBBWEdCRV9TRlBfRElBR19JTkZPX0FERFJF U1MgKi8NCj4gKyAgICAgZm9yIChpID0gMDsgaSA8IGluZm8tPmxlbmd0aCAtIEFYR0JFX1NGUF9F RVBST01fUEFHRV9TSVpFOyBpKyspDQo+ICsgICAgICAgICAgICAgZGF0YVtpICsgQVhHQkVfU0ZQ X0VFUFJPTV9QQUdFX1NJWkVdID0gDQo+ICsgc2ZwX2VlcHJvbS5iYXNlW2ldOw0KPiArDQoNCldp bGwgaXQgYmUgYWNjZXB0YWJsZSBpZiB0aGUgbG9vcCBicmVhayBpbiB0aGUgbWlkZGxlIGJlY2F1 c2Ugb2YgbWlzc2luZyBzcGFjZSwgImkgPCBpbmZvLT5sZW5ndGggLSBBWEdCRV9TRlBfRUVQUk9N X1BBR0VfU0laRSI/IElmIG5vdCwgc2l6ZSBuZWVkcyB0byBiZSBjaGVja2VkIGJlZm9yZSB0aGUg bG9vcC4NCkFncmVlZC4NCj4gK3B1dDoNCj4gKyAgICAgYXhnYmVfcGh5X3NmcF9wdXRfbXV4KHBk YXRhKTsNCj4gKyAgICAgYXhnYmVfcGh5X3B1dF9jb21tX293bmVyc2hpcChwZGF0YSk7DQo+ICsg ICAgIHJldHVybiByZXQ7DQo+ICt9DQo+ICsNCj4gKw0KPiAgIHN0YXRpYyB2b2lkIGF4Z2JlX3Bo eV9zZnBfc2lnbmFscyhzdHJ1Y3QgYXhnYmVfcG9ydCAqcGRhdGEpDQo+ICAgew0KPiAgICAgICBz dHJ1Y3QgYXhnYmVfcGh5X2RhdGEgKnBoeV9kYXRhID0gcGRhdGEtPnBoeV9kYXRhOw0KPg0KDQpQ bGVhc2UgcmVwbHkgZm9yIHRoZSBlbHNlIGNhc2UgaXNzdWUuIEkgY2FuIHJlc3VibWl0LiBPdGhl ciBJIHdpbGwgZml4Lg0K