From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3D216A0583; Thu, 19 Mar 2020 14:57:01 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 99EDDF94; Thu, 19 Mar 2020 14:57:00 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id F25403B5 for ; Thu, 19 Mar 2020 14:56:58 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 02JDo1fI029439; Thu, 19 Mar 2020 06:56:58 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0818; bh=0Szyh30mMQtrRTrhX1iYQqvuf6TdCHb19s2Oo0sJDyQ=; b=X00HhhoByHs9Txegkc5Vb3QbqIo82bixVca1p3oZm9lVQKFyPTOKwqa9fGJjem8REmvh lvhyux15phjYmZDh4NoEhD+/+jCk1dd0XeJlcppQdJ6ul9V8OzinodovTTSnUZlW3t+6 G/5sQSpdDqYfFW0toL5T0LMZFLPH/zwEXLcpWngd0wijhgYBy87hTL5FJ+RkbaH/8YAB IVAJvU9YD7NLGa9JXBWTQnwE5LaABGv6E69LJbuby/W0Gn5B5T84V0tLz8Cev7Y0z7Cn Ktp9mUYmMRXwesSCBI/fPyntxalllgwUSzxuC6mp3vQ24SKP338RpAGRgkKR/fuUxpOY Nw== Received: from sc-exch04.marvell.com ([199.233.58.184]) by mx0b-0016f401.pphosted.com with ESMTP id 2yu9rpfjav-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Thu, 19 Mar 2020 06:56:58 -0700 Received: from SC-EXCH01.marvell.com (10.93.176.81) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 19 Mar 2020 06:56:55 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.176) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Thu, 19 Mar 2020 06:56:55 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GynHmkcXVrrpJc/G5LSAWxB7/YGBn6od8x/IfLBA9LNY2OKQCIK8gULr1zlGFbeuNg+6LaBxk8iywyrjALci0cFWWXEAgcvuLYAwyQvKw/tQXDzR3jfRBypbna+pQ39BtGwwxBbZ2lSz2lcYBWUxi6u77Q4alStr/nIXmp3a8AoGwbpkELMXnwjol8/DYR0DW1WF5ccVQJBC8zHwbk6m7aEHI1Yq/PXiQDji7dp7CyVNFHjuP5QhnxfImDKMARQZa4Ec32A4hf/+cFUTa99f+7JELbSsfK7QkalAmfU29WLD7wT0pYbR0ICSqMb0/t+vN6w45tRw0ODaGQFZWZABog== 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=0Szyh30mMQtrRTrhX1iYQqvuf6TdCHb19s2Oo0sJDyQ=; b=Lcf+vX9bQtX6Qp8TzCRCVXYB15vGzsxZWW0UoHqKLzTlunM0VCe4YOVR3WCpkqqhRNPLboDIwzuNbbopDR9dxDub8RgxBki2h6tNQ6ubPPWGQO979Rvsu2swbIvxqiPXbZv++d3esm1fzqOq5kK5SjBvLdh1rR9nFkzmXjAa6kgeP3YXQxp9Sup5IF2UJMdnBwf7CNM9dPKiHm5h2LXhHGgK8s0gnoRS640wLC9uZPrUzy+8T3arYz8NJ2jbzx6ivA7JFTDl27422dQ+0R9OZsv6ncZzsk2qlggWcj0Nki0SPMzW/Mfza9PNotTNf3D1hO1Z5vlt0lAm4tb618dudA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0Szyh30mMQtrRTrhX1iYQqvuf6TdCHb19s2Oo0sJDyQ=; b=a1Brh54qIbEWZwZWtlpTo7lxHiedYt2xIsvuZyVgLHUgq9zB7G00ddH6NyW2YtkyNS8uwnqmGZB+ugEkKoPSAbOvlmXmqvzi7MrCshiRWyx9yjm9Zvy2/hhYmiJYff/V82wthD0h1CBnqHsjfsO+F+kDV6SfmO8UwZckAtE57RA= Received: from CY4PR1801MB1863.namprd18.prod.outlook.com (2603:10b6:910:7b::32) by CY4PR1801MB1862.namprd18.prod.outlook.com (2603:10b6:910:76::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.19; Thu, 19 Mar 2020 13:56:51 +0000 Received: from CY4PR1801MB1863.namprd18.prod.outlook.com ([fe80::3ce0:be16:b19f:6383]) by CY4PR1801MB1863.namprd18.prod.outlook.com ([fe80::3ce0:be16:b19f:6383%7]) with mapi id 15.20.2814.021; Thu, 19 Mar 2020 13:56:51 +0000 From: Pavan Nikhilesh Bhagavatula To: Andrzej Ostruszka , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH 2/2] net/octeontx2: add devargs to lock Rx/Tx ctx Thread-Index: AQHV89VDF9q3SEL59kyJYnxbVcvhJKhPvB2AgABDhPA= Date: Thu, 19 Mar 2020 13:56:51 +0000 Message-ID: References: <20200306163524.1650-1-pbhagavatula@marvell.com> <20200306163524.1650-2-pbhagavatula@marvell.com> <74f0a4d7-8148-f117-a1df-03d814cbe4c8@semihalf.com> In-Reply-To: <74f0a4d7-8148-f117-a1df-03d814cbe4c8@semihalf.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [122.172.110.222] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c705a886-9139-4981-dcec-08d7cc0d600f x-ms-traffictypediagnostic: CY4PR1801MB1862: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0347410860 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(39860400002)(396003)(136003)(346002)(366004)(376002)(199004)(52536014)(7696005)(66446008)(110136005)(8936002)(66946007)(66476007)(55016002)(66556008)(5660300002)(64756008)(9686003)(76116006)(316002)(71200400001)(86362001)(30864003)(478600001)(81156014)(2906002)(33656002)(81166006)(6506007)(26005)(8676002)(186003); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR1801MB1862; H:CY4PR1801MB1863.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: D1vdjkXgFMm4/bOKyU64OGTV70fIsxJfPzd85O5VzxlBD8s1N528Og4FCi6SsjCdhoSG31Vr+4cxMIDzqe7BQOPxQWEezTXgTjjBLHuJVVY7qhAc9jWugBYUDuPloJFtneZKL56FZfWuaDXI+2qWmG/wJog7FBi852ZQYqoOoGjT7VequJKxP45qdWQtpyWmIkHkpgu1xuJO/f2AuM2YR28owyHMIwI9yH8xRFt2KVwHLSgt2jKwRK4zCOtk2Q6zXlumppYjweabLW0Mqtx9C/pejjgxImVQQ61wtyGVbpZ4JJdIUEqBZFi82OGvyBaJle7Wwt1P+UdYh62aiTvnsrpj92zDwaM0qpCuaFbQtYN1mNNdDPr4cD7fWSYob/y+4IJYA4wl9+qsaqSc2ckdjSq4QQA27rAfhloT6emJKrgf/Mp5RzXZnsTpQz8dRwBi x-ms-exchange-antispam-messagedata: bWSzkS4hOZ7VVPcKFMGUGzJ6VRwq2vnffjWNYjOgl4WBaRc8yPhw1XhoAI8HOR6V3TMAkhvhn5Qrd9OXv3V6jvfpboWe3e+2IjHRCKc+YZn/LG3kVTvIMANULyWDaVoY/xr13hqzENz0s1y8kddtUA== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: c705a886-9139-4981-dcec-08d7cc0d600f X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Mar 2020 13:56:51.3100 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: moSVNCOv4AYLwTaC5e3qn2s4TD66s8/1SUE0nZ1QL7ABA9IAyhTfIVtTQxcQH5Z7QyVMuwtMY3+Q8uK3vHXBcN4Dkr9iKOcwKI4Rs0GMWQ0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR1801MB1862 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.645 definitions=2020-03-19_04:2020-03-19, 2020-03-19 signatures=0 Subject: Re: [dpdk-dev] [PATCH 2/2] net/octeontx2: add devargs to lock Rx/Tx ctx 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" DQoNCj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPkZyb206IGRldiA8ZGV2LWJvdW5jZXNA ZHBkay5vcmc+IE9uIEJlaGFsZiBPZiBBbmRyemVqIE9zdHJ1c3prYQ0KPlNlbnQ6IFRodXJzZGF5 LCBNYXJjaCAxOSwgMjAyMCAzOjA3IFBNDQo+VG86IGRldkBkcGRrLm9yZw0KPlN1YmplY3Q6IFJl OiBbZHBkay1kZXZdIFtQQVRDSCAyLzJdIG5ldC9vY3Rlb250eDI6IGFkZCBkZXZhcmdzIHRvIGxv Y2sNCj5SeC9UeCBjdHgNCj4NCj5PbiAzLzYvMjAgNTozNSBQTSwgcGJoYWdhdmF0dWxhQG1hcnZl bGwuY29tIHdyb3RlOg0KPj4gRnJvbTogUGF2YW4gTmlraGlsZXNoIDxwYmhhZ2F2YXR1bGFAbWFy dmVsbC5jb20+DQo+Pg0KPj4gQWRkIGRldmljZSBhcmd1bWVudHMgdG8gbG9jayBSeC9UeCBjb250 ZXh0cy4NCj4+IEFwcGxpY2F0aW9uIGNhbiBlaXRoZXIgY2hvb3NlIHRvIGxvY2sgUnggb3IgVHgg Y29udGV4dHMgYnkgdXNpbmcNCj4+ICdsb2NrX3J4X2N0eCcgb3IgJ2xvY2tfdHhfY3R4JyByZXNw ZWN0aXZlbHkgcGVyIGVhY2ggcG9ydC4NCj4+DQo+PiBFeGFtcGxlOg0KPj4gCS13IDAwMDI6MDI6 MDAuMCxsb2NrX3J4X2N0eD0xIC13IDAwMDI6MDM6MDAuMCxsb2NrX3R4X2N0eD0xDQo+Pg0KPj4g U2lnbmVkLW9mZi1ieTogUGF2YW4gTmlraGlsZXNoIDxwYmhhZ2F2YXR1bGFAbWFydmVsbC5jb20+ DQo+PiAtLS0NCj4+ICBkb2MvZ3VpZGVzL25pY3Mvb2N0ZW9udHgyLnJzdCAgICAgICAgICAgICAg IHwgIDE0ICsrDQo+PiAgZHJpdmVycy9uZXQvb2N0ZW9udHgyL290eDJfZXRoZGV2LmMgICAgICAg ICB8IDE3OQ0KPisrKysrKysrKysrKysrKysrKystDQo+PiAgZHJpdmVycy9uZXQvb2N0ZW9udHgy L290eDJfZXRoZGV2LmggICAgICAgICB8ICAgMiArDQo+PiAgZHJpdmVycy9uZXQvb2N0ZW9udHgy L290eDJfZXRoZGV2X2RldmFyZ3MuYyB8ICAxNiArLQ0KPj4gIGRyaXZlcnMvbmV0L29jdGVvbnR4 Mi9vdHgyX3Jzcy5jICAgICAgICAgICAgfCAgMjMgKysrDQo+PiAgNSBmaWxlcyBjaGFuZ2VkLCAy MzEgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvZG9j L2d1aWRlcy9uaWNzL29jdGVvbnR4Mi5yc3QNCj5iL2RvYy9ndWlkZXMvbmljcy9vY3Rlb250eDIu cnN0DQo+PiBpbmRleCA4MTlkMDllMTEuLjZhMTNjOWIyNiAxMDA2NDQNCj4+IC0tLSBhL2RvYy9n dWlkZXMvbmljcy9vY3Rlb250eDIucnN0DQo+PiArKysgYi9kb2MvZ3VpZGVzL25pY3Mvb2N0ZW9u dHgyLnJzdA0KPj4gQEAgLTIwNyw2ICsyMDcsMjAgQEAgUnVudGltZSBDb25maWcgT3B0aW9ucw0K Pj4gICAgIFdpdGggdGhlIGFib3ZlIGNvbmZpZ3VyYXRpb24sIGFwcGxpY2F0aW9uIGNhbiBlbmFi bGUgaW5saW5lIElQc2VjDQo+cHJvY2Vzc2luZw0KPj4gICAgIG9uIDEyOCBTQXMgKFNQSSAwLTEy NykuDQo+Pg0KPj4gKy0gYGBMb2NrIFJ4IGNvbnRleHRzIGluIE5EQyBjYWNoZWBgDQo+PiArDQo+ PiArICAgTG9jayBSeCBjb250ZXh0cyBpbiBOREMgY2FjaGUgYnkgdXNpbmcgYGBsb2NrX3J4X2N0 eGBgIHBhcmFtZXRlci4NCj4+ICsNCj4+ICsgICBGb3IgZXhhbXBsZTo6DQo+PiArICAgICAgLXcg MDAwMjowMjowMC4wLGxvY2tfcnhfY3R4PTENCj4NCj4iPTEiIGlzIG5lZWRlZCBiZWNhdXNlIG9m IGt2YXJncyByZXF1aXJlIGl0PyAgSWYgdGhhdCBpcyB0aGUgY2FzZSB0aGVuDQo+SSdsbCB0aGlu ayBhYm91dCBleHRlbmRpbmcga3ZhcmdzIHRvIGFjY2VwdCBzaW1wbGUga2V5cyAtIHRoaXMgc3lu dGF4DQo+ZG9lc24ndCBmZWVsIHJpZ2h0IHdoZW4gYWxsIG9uZSByZWFsbHkgd2FudHMgaXMganVz dCB0byB0ZXN0IHRoZQ0KPnByZXNlbmNlIG9mIGZsYWcgKGZvciAxL3RydWUpIG9yIGl0cyBsYWNr IChmb3IgMC9mYWxzZSkuDQo+DQoNCkt2YXJncyByZXF1aXJlYSBrZXkgdmFsdWUgcGFpciB3aXRo IFJURV9LVkFSR1NfS1ZfREVMSU0gYD1gIGFzIHRoZSBkZWxpbWl0ZXIuDQoNCj5CVFcgLSBleHRy YSBsaW5lIGJyZWFrIGFmdGVyICI6OiINCg0KV2lsbCBmaXggaW4gdjIuDQoNCj4NCj4+ICsNCj4+ ICstIGBgTG9jayBUeCBjb250ZXh0cyBpbiBOREMgY2FjaGVgYA0KPj4gKw0KPj4gKyAgIExvY2sg VHggY29udGV4dHMgaW4gTkRDIGNhY2hlIGJ5IHVzaW5nIGBgbG9ja190eF9jdHhgYCBwYXJhbWV0 ZXIuDQo+PiArDQo+PiArICAgRm9yIGV4YW1wbGU6Og0KPj4gKyAgICAgIC13IDAwMDI6MDI6MDAu MCxsb2NrX3R4X2N0eD0xDQo+DQo+U2FtZSBhcyBhYm92ZQ0KPg0KPlsuLi5dDQo+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9uZXQvb2N0ZW9udHgyL290eDJfZXRoZGV2LmMNCj5iL2RyaXZlcnMvbmV0 L29jdGVvbnR4Mi9vdHgyX2V0aGRldi5jDQo+PiBpbmRleCBlNjBmNDkwMWMuLjU5MmZlZjQ1OCAx MDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvbmV0L29jdGVvbnR4Mi9vdHgyX2V0aGRldi5jDQo+PiAr KysgYi9kcml2ZXJzL25ldC9vY3Rlb250eDIvb3R4Ml9ldGhkZXYuYw0KPj4gQEAgLTM4MSw2ICsz ODEsMzggQEAgbml4X2NxX3JxX2luaXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpldGhfZGV2LA0KPnN0 cnVjdCBvdHgyX2V0aF9kZXYgKmRldiwNCj4+ICAJCWdvdG8gZmFpbDsNCj4+ICAJfQ0KPj4NCj4+ ICsJaWYgKGRldi0+bG9ja19yeF9jdHgpIHsNCj4+ICsJCWFxID0gb3R4Ml9tYm94X2FsbG9jX21z Z19uaXhfYXFfZW5xKG1ib3gpOw0KPj4gKwkJYXEtPnFpZHggPSBxaWQ7DQo+PiArCQlhcS0+Y3R5 cGUgPSBOSVhfQVFfQ1RZUEVfQ1E7DQo+PiArCQlhcS0+b3AgPSBOSVhfQVFfSU5TVE9QX0xPQ0s7 DQo+PiArDQo+PiArCQlhcSA9IG90eDJfbWJveF9hbGxvY19tc2dfbml4X2FxX2VucShtYm94KTsN Cj4+ICsJCWlmICghYXEpIHsNCj4+ICsJCQkvKiBUaGUgc2hhcmVkIG1lbW9yeSBidWZmZXIgY2Fu IGJlIGZ1bGwuDQo+PiArCQkJICogRmx1c2ggaXQgYW5kIHJldHJ5DQo+PiArCQkJICovDQo+PiAr CQkJb3R4Ml9tYm94X21zZ19zZW5kKG1ib3gsIDApOw0KPj4gKwkJCXJjID0gb3R4Ml9tYm94X3dh aXRfZm9yX3JzcChtYm94LCAwKTsNCj4+ICsJCQlpZiAocmMgPCAwKSB7DQo+PiArCQkJCW90eDJf ZXJyKCJGYWlsZWQgdG8gTE9DSyBjcSBjb250ZXh0Iik7DQo+PiArCQkJCXJldHVybiAwOw0KPg0K PlNpbWlsYXIgY29tbWVudHMgYXMgZm9yIHRoZSBwcmV2aW91cyBwYXRjaC4gIElzIHRoaXMgbm90 IGEgZmFpbHVyZT8gIElmDQo+c28gd2h5ICJyZXR1cm4gMCI/ICBJZiBub3QgZmFpbHVyZSBkb24n dCBsb2cgaXQgYXMgYW4gZXJyb3IuIA0KDQpTaW5jZSwgTkRDIGxvY2tpbmcgaXMgZG9uZSBhcyBG SUZPIExvY2tpbmcgbWlnaHQgZmFpbCBidXQgaXQgaXMgbm90IGEgDQpjYXRhc3Ryb3BoaWMgZmFp bHVyZSBhcyBOSVggd2lsbCBmdW5jdGlvbiBub3JtYWxseS4gSSdkIHN0aWxsIGxpa2UgdG8gbG9n DQppdCBhcyBhbiBlcnJvciBmb3IgdmlzaWJpbGl0eS4NCg0KPiBCVFcgaGVyZQ0KPnRoZSBmYWls dXJlIGlzIG5vdCBmb3IgbG9ja2luZyBidXQgZm9yIGZsdXNoaW5nIG9mIHRoZSBtYm94IChyaWdo dD8pIA0KDQpvdHgyX21ib3hfbXNnX3NlbmQgd2lsbCBuZXZlciBmYWlsLiBXZSBtaWdodCBnZXQg dGltZW91dCB3aGlsZSB3YWl0aW5nIGZvciB0aGUgDQpyZXNwb25zZSB3aGljaCB3ZSBzaG91bGQg Y29uc2lkZXIgYXMgQVEgaW5zdHJ1Y3Rpb24gZmFpbHVyZS4NCg0KPnNvIG1heWJlIGNoYW5nZSB0 aGUgZXJyLW1zZyB0byBkaWZmZXJlbnRpYXRlIGZyb20gdGhlIGNhc2UgYmVsb3cuDQoNCg0KPg0K Pj4gKwkJCX0NCj4+ICsNCj4+ICsJCQlhcSA9DQo+b3R4Ml9tYm94X2FsbG9jX21zZ19uaXhfYXFf ZW5xKG1ib3gpOw0KPj4gKwkJCWlmICghYXEpIHsNCj4+ICsJCQkJb3R4Ml9lcnIoIkZhaWxlZCB0 byBMT0NLIHJxIGNvbnRleHQiKTsNCj4+ICsJCQkJcmV0dXJuIDA7DQo+DQo+U2FtZSBhcyBhYm92 ZSAtIGVycm9yIG9yIG5vdD8NCj4NCj4+ICsJCQl9DQo+PiArCQl9DQo+PiArCQlhcS0+cWlkeCA9 IHFpZDsNCj4+ICsJCWFxLT5jdHlwZSA9IE5JWF9BUV9DVFlQRV9SUTsNCj4+ICsJCWFxLT5vcCA9 IE5JWF9BUV9JTlNUT1BfTE9DSzsNCj4+ICsJCXJjID0gb3R4Ml9tYm94X3Byb2Nlc3MobWJveCk7 DQo+PiArCQlpZiAocmMgPCAwKQ0KPj4gKwkJCW90eDJfZXJyKCJGYWlsZWQgdG8gTE9DSyBycSBj b250ZXh0Iik7DQo+DQo+RGl0dG8uDQo+DQo+PiArCX0NCj4+ICsNCj4+ICAJcmV0dXJuIDA7DQo+ PiAgZmFpbDoNCj4+ICAJcmV0dXJuIHJjOw0KPg0KPlNhbWUgY29tbWVudHMgZm9yICpycV91bmlu aXQgKGJlbG93KSBhcyB0aG9zZSBmb3IgKnJxX2luaXQgKGFib3ZlKS4NCj4NCj4+IEBAIC00MzAs NiArNDYyLDM4IEBAIG5peF9jcV9ycV91bmluaXQoc3RydWN0IHJ0ZV9ldGhfZGV2DQo+KmV0aF9k ZXYsIHN0cnVjdCBvdHgyX2V0aF9yeHEgKnJ4cSkNCj4+ICAJCXJldHVybiByYzsNCj4+ICAJfQ0K Pj4NCj4+ICsJaWYgKGRldi0+bG9ja19yeF9jdHgpIHsNCj4+ICsJCWFxID0gb3R4Ml9tYm94X2Fs bG9jX21zZ19uaXhfYXFfZW5xKG1ib3gpOw0KPj4gKwkJYXEtPnFpZHggPSByeHEtPnJxOw0KPj4g KwkJYXEtPmN0eXBlID0gTklYX0FRX0NUWVBFX0NROw0KPj4gKwkJYXEtPm9wID0gTklYX0FRX0lO U1RPUF9VTkxPQ0s7DQo+PiArDQo+PiArCQlhcSA9IG90eDJfbWJveF9hbGxvY19tc2dfbml4X2Fx X2VucShtYm94KTsNCj4+ICsJCWlmICghYXEpIHsNCj4+ICsJCQkvKiBUaGUgc2hhcmVkIG1lbW9y eSBidWZmZXIgY2FuIGJlIGZ1bGwuDQo+PiArCQkJICogRmx1c2ggaXQgYW5kIHJldHJ5DQo+PiAr CQkJICovDQo+PiArCQkJb3R4Ml9tYm94X21zZ19zZW5kKG1ib3gsIDApOw0KPj4gKwkJCXJjID0g b3R4Ml9tYm94X3dhaXRfZm9yX3JzcChtYm94LCAwKTsNCj4+ICsJCQlpZiAocmMgPCAwKSB7DQo+ PiArCQkJCW90eDJfZXJyKCJGYWlsZWQgdG8gVU5MT0NLIGNxDQo+Y29udGV4dCIpOw0KPj4gKwkJ CQlyZXR1cm4gMDsNCj4+ICsJCQl9DQo+PiArDQo+PiArCQkJYXEgPQ0KPm90eDJfbWJveF9hbGxv Y19tc2dfbml4X2FxX2VucShtYm94KTsNCj4+ICsJCQlpZiAoIWFxKSB7DQo+PiArCQkJCW90eDJf ZXJyKCJGYWlsZWQgdG8gVU5MT0NLIHJxDQo+Y29udGV4dCIpOw0KPj4gKwkJCQlyZXR1cm4gMDsN Cj4+ICsJCQl9DQo+PiArCQl9DQo+PiArCQlhcS0+cWlkeCA9IHJ4cS0+cnE7DQo+PiArCQlhcS0+ Y3R5cGUgPSBOSVhfQVFfQ1RZUEVfUlE7DQo+PiArCQlhcS0+b3AgPSBOSVhfQVFfSU5TVE9QX1VO TE9DSzsNCj4+ICsJCXJjID0gb3R4Ml9tYm94X3Byb2Nlc3MobWJveCk7DQo+PiArCQlpZiAocmMg PCAwKQ0KPj4gKwkJCW90eDJfZXJyKCJGYWlsZWQgdG8gVU5MT0NLIHJxIGNvbnRleHQiKTsNCj4+ ICsJfQ0KPj4gKw0KPj4gIAlyZXR1cm4gMDsNCj4+ICB9DQo+Pg0KPg0KPkFuZCB0aGUgc2FtZSBz ZXQgb2YgY29tbWVudHMgYXBwbHkgYmVsb3cgdG8gKnNxYl9sb2NrL3VubG9jayAtIGluDQo+YWRk aXRpb24gb25lIGNvbW1lbnQgYWJvdXQgZXJyLW1zZy4NCj4NCj4+IEBAIC03MTUsNiArNzc5LDkw IEBAIG5peF90eF9vZmZsb2FkX2ZsYWdzKHN0cnVjdCBydGVfZXRoX2Rldg0KPipldGhfZGV2KQ0K Pj4gIAlyZXR1cm4gZmxhZ3M7DQo+PiAgfQ0KPj4NCj4+ICtzdGF0aWMgaW50DQo+PiArbml4X3Nx Yl9sb2NrKHN0cnVjdCBydGVfbWVtcG9vbCAqbXApDQo+PiArew0KPj4gKwlzdHJ1Y3Qgb3R4Ml9u cGFfbGYgKm5wYV9sZiA9IG90eDJfaW50cmFfZGV2X2dldF9jZmcoKS0+bnBhX2xmOw0KPj4gKwlz dHJ1Y3QgbnBhX2FxX2VucV9yZXEgKnJlcTsNCj4+ICsJaW50IHJjOw0KPj4gKw0KPj4gKwlyZXEg PSBvdHgyX21ib3hfYWxsb2NfbXNnX25wYV9hcV9lbnEobnBhX2xmLT5tYm94KTsNCj4+ICsJcmVx LT5hdXJhX2lkID0gbnBhX2xmX2F1cmFfaGFuZGxlX3RvX2F1cmEobXAtPnBvb2xfaWQpOw0KPj4g KwlyZXEtPmN0eXBlID0gTlBBX0FRX0NUWVBFX0FVUkE7DQo+PiArCXJlcS0+b3AgPSBOUEFfQVFf SU5TVE9QX0xPQ0s7DQo+PiArDQo+PiArCXJlcSA9IG90eDJfbWJveF9hbGxvY19tc2dfbnBhX2Fx X2VucShucGFfbGYtPm1ib3gpOw0KPj4gKwlpZiAoIXJlcSkgew0KPj4gKwkJLyogVGhlIHNoYXJl ZCBtZW1vcnkgYnVmZmVyIGNhbiBiZSBmdWxsLg0KPj4gKwkJICogRmx1c2ggaXQgYW5kIHJldHJ5 DQo+PiArCQkgKi8NCj4+ICsJCW90eDJfbWJveF9tc2dfc2VuZChucGFfbGYtPm1ib3gsIDApOw0K Pj4gKwkJcmMgPSBvdHgyX21ib3hfd2FpdF9mb3JfcnNwKG5wYV9sZi0+bWJveCwgMCk7DQo+PiAr CQlpZiAocmMgPCAwKSB7DQo+PiArCQkJb3R4Ml9lcnIoIkZhaWxlZCB0byBMT0NLIEFVUkEgY29u dGV4dCIpOw0KPj4gKwkJCXJldHVybiAwOw0KPj4gKwkJfQ0KPj4gKw0KPj4gKwkJcmVxID0gb3R4 Ml9tYm94X2FsbG9jX21zZ19ucGFfYXFfZW5xKG5wYV9sZi0NCj4+bWJveCk7DQo+PiArCQlpZiAo IXJlcSkgew0KPj4gKwkJCW90eDJfZXJyKCJGYWlsZWQgdG8gTE9DSyBQT09MIGNvbnRleHQiKTsN Cj4NCj5BcGFydCBmcm9tIHRoZSBnZW5lcmFsIGVyci1vci1ub3QtZXJyIGNvbW1lbnQgaGVyZSB5 b3UgaGF2ZSBub3QNCj5hdHRlbXB0ZWQgdG8gbG9jayBwb29sIHlldCwgeW91IGRvIHRoYXQgYmVs b3cuICBKdXN0IGxpa2UgYmVmb3JlIHVzZQ0KPmRpZmZlcmVudCBtc2cgNiBsaW5lcyBhYm92ZSAo c2luY2UgeW91IGhhdmUgb25seSBmbHVzaGVkIC0gbm90DQo+YXR0ZXBtdGVkDQo+dG8gbG9jaykg YW5kIGhlcmUgdXNlIHRoZSAiRmFpbGVkIHRvIExPQ0sgQVVSQSBjb250ZXh0Ii4gIFRoZSBzYW1l DQo+Y29tbWVudCBhcHBsaWVzIGJlbG93IGZvciB1bmxvY2suDQo+DQoNCkFVUkEgbWVzc2FnZSB3 b3VsZCBoYXZlIGFscmVhZHkgYmVlbiBkZWxpdmVyZWQgdG8gQVEgaGVyZS4gSSB0aGluayBhIG1v cmUgDQphcHByb3ByaWF0ZSBtZXNzYWdlIHdvdWxkIGJlICJmYWlsZWQgdG8gZ2V0IG1ib3ggbWVt b3J5IGZvciBsb2NraW5nIHBvb2wgY3R4LiINCg0KPj4gKwkJCXJldHVybiAwOw0KPj4gKwkJfQ0K Pj4gKwl9DQo+PiArDQo+PiArCXJlcS0+YXVyYV9pZCA9IG5wYV9sZl9hdXJhX2hhbmRsZV90b19h dXJhKG1wLT5wb29sX2lkKTsNCj4+ICsJcmVxLT5jdHlwZSA9IE5QQV9BUV9DVFlQRV9QT09MOw0K Pj4gKwlyZXEtPm9wID0gTlBBX0FRX0lOU1RPUF9MT0NLOw0KPj4gKw0KPj4gKwlyYyA9IG90eDJf bWJveF9wcm9jZXNzKG5wYV9sZi0+bWJveCk7DQo+PiArCWlmIChyYyA8IDApDQo+PiArCQlvdHgy X2VycigiVW5hYmxlIHRvIGxvY2sgUE9PTCBpbiBOREMiKTsNCj4+ICsNCj4+ICsJcmV0dXJuIDA7 DQo+PiArfQ0KPj4gKw0KPj4gK3N0YXRpYyBpbnQNCj4+ICtuaXhfc3FiX3VubG9jayhzdHJ1Y3Qg cnRlX21lbXBvb2wgKm1wKQ0KPj4gK3sNCj4+ICsJc3RydWN0IG90eDJfbnBhX2xmICpucGFfbGYg PSBvdHgyX2ludHJhX2Rldl9nZXRfY2ZnKCktPm5wYV9sZjsNCj4+ICsJc3RydWN0IG5wYV9hcV9l bnFfcmVxICpyZXE7DQo+PiArCWludCByYzsNCj4+ICsNCj4+ICsJcmVxID0gb3R4Ml9tYm94X2Fs bG9jX21zZ19ucGFfYXFfZW5xKG5wYV9sZi0+bWJveCk7DQo+PiArCXJlcS0+YXVyYV9pZCA9IG5w YV9sZl9hdXJhX2hhbmRsZV90b19hdXJhKG1wLT5wb29sX2lkKTsNCj4+ICsJcmVxLT5jdHlwZSA9 IE5QQV9BUV9DVFlQRV9BVVJBOw0KPj4gKwlyZXEtPm9wID0gTlBBX0FRX0lOU1RPUF9VTkxPQ0s7 DQo+PiArDQo+PiArCXJlcSA9IG90eDJfbWJveF9hbGxvY19tc2dfbnBhX2FxX2VucShucGFfbGYt Pm1ib3gpOw0KPj4gKwlpZiAoIXJlcSkgew0KPj4gKwkJLyogVGhlIHNoYXJlZCBtZW1vcnkgYnVm ZmVyIGNhbiBiZSBmdWxsLg0KPj4gKwkJICogRmx1c2ggaXQgYW5kIHJldHJ5DQo+PiArCQkgKi8N Cj4+ICsJCW90eDJfbWJveF9tc2dfc2VuZChucGFfbGYtPm1ib3gsIDApOw0KPj4gKwkJcmMgPSBv dHgyX21ib3hfd2FpdF9mb3JfcnNwKG5wYV9sZi0+bWJveCwgMCk7DQo+PiArCQlpZiAocmMgPCAw KSB7DQo+PiArCQkJb3R4Ml9lcnIoIkZhaWxlZCB0byBVTkxPQ0sgQVVSQSBjb250ZXh0Iik7DQo+ PiArCQkJcmV0dXJuIDA7DQo+PiArCQl9DQo+PiArDQo+PiArCQlyZXEgPSBvdHgyX21ib3hfYWxs b2NfbXNnX25wYV9hcV9lbnEobnBhX2xmLQ0KPj5tYm94KTsNCj4+ICsJCWlmICghcmVxKSB7DQo+ PiArCQkJb3R4Ml9lcnIoIkZhaWxlZCB0byBVTkxPQ0sgUE9PTCBjb250ZXh0Iik7DQo+PiArCQkJ cmV0dXJuIDA7DQo+PiArCQl9DQo+PiArCX0NCj4+ICsJcmVxID0gb3R4Ml9tYm94X2FsbG9jX21z Z19ucGFfYXFfZW5xKG5wYV9sZi0+bWJveCk7DQo+PiArCXJlcS0+YXVyYV9pZCA9IG5wYV9sZl9h dXJhX2hhbmRsZV90b19hdXJhKG1wLT5wb29sX2lkKTsNCj4+ICsJcmVxLT5jdHlwZSA9IE5QQV9B UV9DVFlQRV9QT09MOw0KPj4gKwlyZXEtPm9wID0gTlBBX0FRX0lOU1RPUF9VTkxPQ0s7DQo+PiAr DQo+PiArCXJjID0gb3R4Ml9tYm94X3Byb2Nlc3MobnBhX2xmLT5tYm94KTsNCj4+ICsJaWYgKHJj IDwgMCkNCj4+ICsJCW90eDJfZXJyKCJVbmFibGUgdG8gVU5MT0NLIEFVUkEgaW4gTkRDIik7DQo+ PiArDQo+PiArCXJldHVybiAwOw0KPj4gK30NCj4+ICsNCj4+ICBzdGF0aWMgaW50DQo+PiAgbml4 X3NxX2luaXQoc3RydWN0IG90eDJfZXRoX3R4cSAqdHhxKQ0KPj4gIHsNCj4+IEBAIC03NTcsNyAr OTA1LDIwIEBAIG5peF9zcV9pbml0KHN0cnVjdCBvdHgyX2V0aF90eHEgKnR4cSkNCj4+ICAJLyog TWFueSB0byBvbmUgcmVkdWN0aW9uICovDQo+PiAgCXNxLT5zcS5xaW50X2lkeCA9IHR4cS0+c3Eg JSBkZXYtPnFpbnRzOw0KPj4NCj4+IC0JcmV0dXJuIG90eDJfbWJveF9wcm9jZXNzKG1ib3gpOw0K Pj4gKwlyYyA9IG90eDJfbWJveF9wcm9jZXNzKG1ib3gpOw0KPj4gKwlpZiAocmMgPCAwKQ0KPj4g KwkJcmV0dXJuIHJjOw0KPj4gKw0KPj4gKwlpZiAoZGV2LT5sb2NrX3R4X2N0eCkgew0KPj4gKwkJ c3EgPSBvdHgyX21ib3hfYWxsb2NfbXNnX25peF9hcV9lbnEobWJveCk7DQo+PiArCQlzcS0+cWlk eCA9IHR4cS0+c3E7DQo+PiArCQlzcS0+Y3R5cGUgPSBOSVhfQVFfQ1RZUEVfU1E7DQo+PiArCQlz cS0+b3AgPSBOSVhfQVFfSU5TVE9QX0xPQ0s7DQo+PiArDQo+PiArCQlyYyA9IG90eDJfbWJveF9w cm9jZXNzKG1ib3gpOw0KPj4gKwl9DQo+PiArDQo+PiArCXJldHVybiByYzsNCj4+ICB9DQo+Pg0K Pj4gIHN0YXRpYyBpbnQNCj4+IEBAIC04MDAsNiArOTYxLDIwIEBAIG5peF9zcV91bmluaXQoc3Ry dWN0IG90eDJfZXRoX3R4cSAqdHhxKQ0KPj4gIAlpZiAocmMpDQo+PiAgCQlyZXR1cm4gcmM7DQo+ Pg0KPj4gKwlpZiAoZGV2LT5sb2NrX3R4X2N0eCkgew0KPj4gKwkJLyogVW5sb2NrIHNxICovDQo+ PiArCQlhcSA9IG90eDJfbWJveF9hbGxvY19tc2dfbml4X2FxX2VucShtYm94KTsNCj4+ICsJCWFx LT5xaWR4ID0gdHhxLT5zcTsNCj4+ICsJCWFxLT5jdHlwZSA9IE5JWF9BUV9DVFlQRV9TUTsNCj4+ ICsJCWFxLT5vcCA9IE5JWF9BUV9JTlNUT1BfVU5MT0NLOw0KPj4gKw0KPj4gKwkJcmMgPSBvdHgy X21ib3hfcHJvY2VzcyhtYm94KTsNCj4+ICsJCWlmIChyYyA8IDApDQo+PiArCQkJcmV0dXJuIHJj Ow0KPj4gKw0KPj4gKwkJbml4X3NxYl91bmxvY2sodHhxLT5zcWJfcG9vbCk7DQo+PiArCX0NCj4+ ICsNCj4+ICAJLyogUmVhZCBTUSBhbmQgZnJlZSBzcWIncyAqLw0KPj4gIAlhcSA9IG90eDJfbWJv eF9hbGxvY19tc2dfbml4X2FxX2VucShtYm94KTsNCj4+ICAJYXEtPnFpZHggPSB0eHEtPnNxOw0K Pj4gQEAgLTkyMSw2ICsxMDk2LDggQEAgbml4X2FsbG9jX3NxYl9wb29sKGludCBwb3J0LCBzdHJ1 Y3QNCj5vdHgyX2V0aF90eHEgKnR4cSwgdWludDE2X3QgbmJfZGVzYykNCj4+ICAJfQ0KPj4NCj4+ ICAJbml4X3NxYl9hdXJhX2xpbWl0X2NmZyh0eHEtPnNxYl9wb29sLCB0eHEtPm5iX3NxYl9idWZz KTsNCj4+ICsJaWYgKGRldi0+bG9ja190eF9jdHgpDQo+PiArCQluaXhfc3FiX2xvY2sodHhxLT5z cWJfcG9vbCk7DQo+Pg0KPj4gIAlyZXR1cm4gMDsNCj4+ICBmYWlsOg0KPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L29jdGVvbnR4Mi9vdHgyX2V0aGRldi5oDQo+Yi9kcml2ZXJzL25ldC9vY3Rl b250eDIvb3R4Ml9ldGhkZXYuaA0KPj4gaW5kZXggZTU2ODRmOWYwLi43MWY4Y2Y3MjkgMTAwNjQ0 DQo+PiAtLS0gYS9kcml2ZXJzL25ldC9vY3Rlb250eDIvb3R4Ml9ldGhkZXYuaA0KPj4gKysrIGIv ZHJpdmVycy9uZXQvb2N0ZW9udHgyL290eDJfZXRoZGV2LmgNCj4+IEBAIC0yODcsNiArMjg3LDgg QEAgc3RydWN0IG90eDJfZXRoX2RldiB7DQo+PiAgCXVpbnQxNl90IHNjYWxhcl9lbmE7DQo+PiAg CXVpbnQxNl90IHJzc190YWdfYXNfeG9yOw0KPj4gIAl1aW50MTZfdCBtYXhfc3FiX2NvdW50Ow0K Pj4gKwl1aW50MTZfdCBsb2NrX3J4X2N0eDsNCj4+ICsJdWludDE2X3QgbG9ja190eF9jdHg7DQo+ PiAgCXVpbnQxNl90IHJ4X29mZmxvYWRfZmxhZ3M7IC8qIFNlbGVjdGVkIFJ4IG9mZmxvYWQNCj5m bGFncyhOSVhfUlhfKl9GKSAqLw0KPj4gIAl1aW50NjRfdCByeF9vZmZsb2FkczsNCj4+ICAJdWlu dDE2X3QgdHhfb2ZmbG9hZF9mbGFnczsgLyogU2VsZWN0ZWQgVHggb2ZmbG9hZA0KPmZsYWdzKE5J WF9UWF8qX0YpICovDQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvb2N0ZW9udHgyL290eDJf ZXRoZGV2X2RldmFyZ3MuYw0KPmIvZHJpdmVycy9uZXQvb2N0ZW9udHgyL290eDJfZXRoZGV2X2Rl dmFyZ3MuYw0KPj4gaW5kZXggYmMxMWY1NGI1Li4wODU3ZDgyNDcgMTAwNjQ0DQo+PiAtLS0gYS9k cml2ZXJzL25ldC9vY3Rlb250eDIvb3R4Ml9ldGhkZXZfZGV2YXJncy5jDQo+PiArKysgYi9kcml2 ZXJzL25ldC9vY3Rlb250eDIvb3R4Ml9ldGhkZXZfZGV2YXJncy5jDQo+PiBAQCAtMTI0LDYgKzEy NCw4IEBAIHBhcnNlX3N3aXRjaF9oZWFkZXJfdHlwZShjb25zdCBjaGFyICprZXksDQo+Y29uc3Qg Y2hhciAqdmFsdWUsIHZvaWQgKmV4dHJhX2FyZ3MpDQo+PiAgI2RlZmluZSBPVFgyX0ZMT1dfTUFY X1BSSU9SSVRZICJmbG93X21heF9wcmlvcml0eSINCj4+ICAjZGVmaW5lIE9UWDJfU1dJVENIX0hF QURFUl9UWVBFICJzd2l0Y2hfaGVhZGVyIg0KPj4gICNkZWZpbmUgT1RYMl9SU1NfVEFHX0FTX1hP UiAidGFnX2FzX3hvciINCj4+ICsjZGVmaW5lIE9UWDJfTE9DS19SWF9DVFggImxvY2tfcnhfY3R4 Ig0KPj4gKyNkZWZpbmUgT1RYMl9MT0NLX1RYX0NUWCAibG9ja190eF9jdHgiDQo+Pg0KPj4gIGlu dA0KPj4gIG90eDJfZXRoZGV2X3BhcnNlX2RldmFyZ3Moc3RydWN0IHJ0ZV9kZXZhcmdzICpkZXZh cmdzLCBzdHJ1Y3QNCj5vdHgyX2V0aF9kZXYgKmRldikNCj4+IEBAIC0xMzQsOSArMTM2LDExIEBA IG90eDJfZXRoZGV2X3BhcnNlX2RldmFyZ3Moc3RydWN0DQo+cnRlX2RldmFyZ3MgKmRldmFyZ3Ms IHN0cnVjdCBvdHgyX2V0aF9kZXYgKmRldikNCj4+ICAJdWludDE2X3Qgc3dpdGNoX2hlYWRlcl90 eXBlID0gMDsNCj4+ICAJdWludDE2X3QgZmxvd19tYXhfcHJpb3JpdHkgPSAzOw0KPj4gIAl1aW50 MTZfdCBpcHNlY19pbl9tYXhfc3BpID0gMTsNCj4+IC0JdWludDE2X3Qgc2NhbGFyX2VuYWJsZSA9 IDA7DQo+PiAgCXVpbnQxNl90IHJzc190YWdfYXNfeG9yID0gMDsNCj4+ICsJdWludDE2X3Qgc2Nh bGFyX2VuYWJsZSA9IDA7DQo+PiAgCXN0cnVjdCBydGVfa3ZhcmdzICprdmxpc3Q7DQo+PiArCXVp bnQxNl90IGxvY2tfcnhfY3R4ID0gMDsNCj4+ICsJdWludDE2X3QgbG9ja190eF9jdHggPSAwOw0K Pj4NCj4+ICAJaWYgKGRldmFyZ3MgPT0gTlVMTCkNCj4+ICAJCWdvdG8gbnVsbF9kZXZhcmdzOw0K Pj4gQEAgLTE2MSw2ICsxNjUsMTAgQEAgb3R4Ml9ldGhkZXZfcGFyc2VfZGV2YXJncyhzdHJ1Y3QN Cj5ydGVfZGV2YXJncyAqZGV2YXJncywgc3RydWN0IG90eDJfZXRoX2RldiAqZGV2KQ0KPj4gIAkJ CSAgICZwYXJzZV9zd2l0Y2hfaGVhZGVyX3R5cGUsDQo+JnN3aXRjaF9oZWFkZXJfdHlwZSk7DQo+ PiAgCXJ0ZV9rdmFyZ3NfcHJvY2Vzcyhrdmxpc3QsIE9UWDJfUlNTX1RBR19BU19YT1IsDQo+PiAg CQkJICAgJnBhcnNlX2ZsYWcsICZyc3NfdGFnX2FzX3hvcik7DQo+PiArCXJ0ZV9rdmFyZ3NfcHJv Y2Vzcyhrdmxpc3QsIE9UWDJfTE9DS19SWF9DVFgsDQo+PiArCQkJICAgJnBhcnNlX2ZsYWcsICZs b2NrX3J4X2N0eCk7DQo+PiArCXJ0ZV9rdmFyZ3NfcHJvY2Vzcyhrdmxpc3QsIE9UWDJfTE9DS19U WF9DVFgsDQo+PiArCQkJICAgJnBhcnNlX2ZsYWcsICZsb2NrX3R4X2N0eCk7DQo+PiAgCW90eDJf cGFyc2VfY29tbW9uX2RldmFyZ3Moa3ZsaXN0KTsNCj4+ICAJcnRlX2t2YXJnc19mcmVlKGt2bGlz dCk7DQo+Pg0KPj4gQEAgLTE2OSw2ICsxNzcsOCBAQCBvdHgyX2V0aGRldl9wYXJzZV9kZXZhcmdz KHN0cnVjdA0KPnJ0ZV9kZXZhcmdzICpkZXZhcmdzLCBzdHJ1Y3Qgb3R4Ml9ldGhfZGV2ICpkZXYp DQo+PiAgCWRldi0+c2NhbGFyX2VuYSA9IHNjYWxhcl9lbmFibGU7DQo+PiAgCWRldi0+cnNzX3Rh Z19hc194b3IgPSByc3NfdGFnX2FzX3hvcjsNCj4+ICAJZGV2LT5tYXhfc3FiX2NvdW50ID0gc3Fi X2NvdW50Ow0KPj4gKwlkZXYtPmxvY2tfcnhfY3R4ID0gbG9ja19yeF9jdHg7DQo+PiArCWRldi0+ bG9ja190eF9jdHggPSBsb2NrX3R4X2N0eDsNCj4+ICAJZGV2LT5yc3NfaW5mby5yc3Nfc2l6ZSA9 IHJzc19zaXplOw0KPj4gIAlkZXYtPm5wY19mbG93LmZsb3dfcHJlYWxsb2Nfc2l6ZSA9IGZsb3df cHJlYWxsb2Nfc2l6ZTsNCj4+ICAJZGV2LT5ucGNfZmxvdy5mbG93X21heF9wcmlvcml0eSA9IGZs b3dfbWF4X3ByaW9yaXR5Ow0KPj4gQEAgLTE4Nyw0ICsxOTcsNiBAQA0KPlJURV9QTURfUkVHSVNU RVJfUEFSQU1fU1RSSU5HKG5ldF9vY3Rlb250eDIsDQo+PiAgCQkJICAgICAgT1RYMl9GTE9XX1BS RUFMTE9DX1NJWkUgIj08MS0zMj4iDQo+PiAgCQkJICAgICAgT1RYMl9GTE9XX01BWF9QUklPUklU WSAiPTwxLTMyPiINCj4+ICAJCQkgICAgICBPVFgyX1NXSVRDSF9IRUFERVJfVFlQRQ0KPiI9PGhp Z2lnMnxkc2E+Ig0KPj4gLQkJCSAgICAgIE9UWDJfUlNTX1RBR19BU19YT1IgIj0xIik7DQo+PiAr CQkJICAgICAgT1RYMl9SU1NfVEFHX0FTX1hPUiAiPTEiDQo+PiArCQkJICAgICAgT1RYMl9MT0NL X1JYX0NUWCAiPTwxLTY1NTM1PiINCj4+ICsJCQkgICAgICBPVFgyX0xPQ0tfVFhfQ1RYICI9PDEt NjU1MzU+Iik7DQo+DQo+QUZBSVUgdGhlICI9MSIgaXMgcmVxdWlyZWQgZHVlIHRvIGt2YXJncyBw YXJzaW5nIGxpbWl0YXRpb24uICBCdXQgd2h5DQo+dGhlIHJhbmdlIGhlcmUgaXMgMS02NTUzNSB3 aGVuIGFsbCB5b3Ugd2FudCBpcyBqdXN0IGEgYm9vbGVhbiBmbGFnIChpZg0KPnRoZSBrZXkgaXMg cHJlc2VudCBvciBub3QpLg0KPg0KDQpNeSBiYWQgd2Ugd2VyZSBkZWJhdGluZyB3aGV0aGVyIGl0 IHNob3VsZCBiZSBwZXIgUngvVHggcXVldWUgd2hpY2ggd291bGQgDQp1c2UgYSBtYXNrLiBJIHdp bGwgZml4IGl0IGluIHYyLg0KDQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvb2N0ZW9udHgy L290eDJfcnNzLmMNCj5iL2RyaXZlcnMvbmV0L29jdGVvbnR4Mi9vdHgyX3Jzcy5jDQo+PiBpbmRl eCA3YThjOGYzZGUuLjM0MDA1ZWYwMiAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvbmV0L29jdGVv bnR4Mi9vdHgyX3Jzcy5jDQo+PiArKysgYi9kcml2ZXJzL25ldC9vY3Rlb250eDIvb3R4Ml9yc3Mu Yw0KPj4gQEAgLTMzLDYgKzMzLDI5IEBAIG90eDJfbml4X3Jzc190YmxfaW5pdChzdHJ1Y3Qgb3R4 Ml9ldGhfZGV2DQo+KmRldiwNCj4+ICAJCXJlcS0+cWlkeCA9IChncm91cCAqIHJzcy0+cnNzX3Np emUpICsgaWR4Ow0KPj4gIAkJcmVxLT5jdHlwZSA9IE5JWF9BUV9DVFlQRV9SU1M7DQo+PiAgCQly ZXEtPm9wID0gTklYX0FRX0lOU1RPUF9JTklUOw0KPj4gKw0KPj4gKwkJaWYgKCFkZXYtPmxvY2tf cnhfY3R4KQ0KPj4gKwkJCWNvbnRpbnVlOw0KPj4gKw0KPj4gKwkJcmVxID0gb3R4Ml9tYm94X2Fs bG9jX21zZ19uaXhfYXFfZW5xKG1ib3gpOw0KPj4gKwkJaWYgKCFyZXEpIHsNCj4+ICsJCQkvKiBU aGUgc2hhcmVkIG1lbW9yeSBidWZmZXIgY2FuIGJlIGZ1bGwuDQo+PiArCQkJICogRmx1c2ggaXQg YW5kIHJldHJ5DQo+PiArCQkJICovDQo+PiArCQkJb3R4Ml9tYm94X21zZ19zZW5kKG1ib3gsIDAp Ow0KPj4gKwkJCXJjID0gb3R4Ml9tYm94X3dhaXRfZm9yX3JzcChtYm94LCAwKTsNCj4+ICsJCQlp ZiAocmMgPCAwKQ0KPj4gKwkJCQlyZXR1cm4gcmM7DQo+PiArDQo+PiArCQkJcmVxID0NCj5vdHgy X21ib3hfYWxsb2NfbXNnX25peF9hcV9lbnEobWJveCk7DQo+PiArCQkJaWYgKCFyZXEpDQo+PiAr CQkJCXJldHVybiAtRU5PTUVNOw0KPj4gKwkJfQ0KPj4gKwkJcmVxLT5yc3MucnEgPSBpbmRfdGJs W2lkeF07DQo+PiArCQkvKiBGaWxsIEFRIGluZm8gKi8NCj4+ICsJCXJlcS0+cWlkeCA9IChncm91 cCAqIHJzcy0+cnNzX3NpemUpICsgaWR4Ow0KPj4gKwkJcmVxLT5jdHlwZSA9IE5JWF9BUV9DVFlQ RV9SU1M7DQo+PiArCQlyZXEtPm9wID0gTklYX0FRX0lOU1RPUF9MT0NLOw0KPj4gIAl9DQo+Pg0K Pj4gIAlvdHgyX21ib3hfbXNnX3NlbmQobWJveCwgMCk7DQo+Pg0KPg0KPkFuZCBoZXJlIHlvdSB0 cmVhdCB0aGUgbG9ja2luZyBlcnJvcnMgYXMgZXJyb3JzIC0gc28gSSB0aGluayB5b3UgbmVlZCB0 bw0KPmp1c3QgYWRhcHQgdG8gdGhpcyBzdHlsZSBhbmQgZml4IHRoZSBwcmV2aW91cyBjb21tZW50 cy4NCg0KSSB0aGluayBoZXJlIHdlIHNob3VsZCBjb250aW51ZSBjcmVhdGluZyB0aGUgUlNTIHRh YmxlIHdpdGhvdXQgbG9ja2luZyBpdCBhcw0KSXQgaXMgbm90IG1hbmRhdG9yeS4gSSB3aWxsIG1v ZGlmeSBhY2NvcmRpbmdseSBpbiB2Mi4NCg0KPg0KPldpdGggcmVnYXJkcw0KPkFuZHJ6ZWogT3N0 cnVzemthDQoNClRoYW5rcywNClBhdmFuLg0K