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 0CF93A09FF; Wed, 6 Jan 2021 13:06:10 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F070716096C; Wed, 6 Jan 2021 13:06:09 +0100 (CET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id EFF7F160868 for ; Wed, 6 Jan 2021 13:06:06 +0100 (CET) IronPort-SDR: 24TLG4zEtNLX51FxoKyUbvcjxvUv7bRmTIHofneAbvnukpd4tDDWgXnq/7gKsgfStBTxg0fM6O 85ksbzE7wrFA== X-IronPort-AV: E=McAfee;i="6000,8403,9855"; a="156456236" X-IronPort-AV: E=Sophos;i="5.78,480,1599548400"; d="scan'208";a="156456236" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Jan 2021 04:06:06 -0800 IronPort-SDR: HxZJzUKqZbtYFUrTpafSJPMep7ry2mWnjyaUIiTcnwMt291nO/PWablh1Jj8qK41i8+SfX4oej 93ZoMkizduQw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,480,1599548400"; d="scan'208";a="395611274" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga004.fm.intel.com with ESMTP; 06 Jan 2021 04:06:05 -0800 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 6 Jan 2021 04:06:05 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Wed, 6 Jan 2021 04:06:05 -0800 Received: from NAM02-CY1-obe.outbound.protection.outlook.com (104.47.37.54) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Wed, 6 Jan 2021 04:06:05 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VsoYWBdS3EFE1F/cYYm3Pb57jkRJhEeo3sUEX8Ukf2sr6dN8hfW8yOBVZ3akqkuIS21HrfVAaAREuGDq413iWwWAXD1X7SnHgOZyNid1mvpB5BosH9aS78rq+ocnxTqFvTbcsc6/50hxv11kUC3k0yVETJR8kbhQRBb52Ysd/iNTPI1OgILzxNXefGBW8nIbl0bxUI/LHIlIJImMJnirXk3sDjXXubwMuvWt1Tum9OXUZsAI/ByK5og8IVCkb2WdNlhtgCdrdm+miYtFGBxysmDOmz/Lq9HaAju3G44ksYL80N5oxtEP3M0uH3uBC/8m5iVm645fCrW/O8FswTWwCg== 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=HRWFb/bdRolc6wV4QgVujtLeD6XHHf2Lk1YUASusVAc=; b=MT375IRvMCEYXJM4Zl91kZlM9w3Gqk3kafe6cGW78MwL28JllMDGko0B8yblstMZ++ujcMahiLy46SuISwA0CzXY6NvXUO0OQj7rOTl0O4pd1MVJF3VnGx65fEJBgIRgYFOyLNAoemMH6otQNX1FqxYibvFNxBH85eMpEq/RIqWOH/zZh5PHvBdk1v6bPZC2Eu0d8b7Cwnqt9fk6L6rSbSpUZzWkhd3RSWRTp+TOwZAGjiUNNp1g/mkLcmIapg6rvp+0+WLkhFKCDdR8Ih/XZX8Ap94J3V9MqauKZwJkUQBtVa8ElJatS2F5DvOj51P8sMjkp6CoFGV+cjH1YAo1CA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HRWFb/bdRolc6wV4QgVujtLeD6XHHf2Lk1YUASusVAc=; b=yp5qUrp69T+gRDfMTCcCe90Ilhkk00SOzxVVbr3pHu/GtnpqEmEzQGUpYfilrVFsUMw4QWY5mH6GQH9Jl+3hU+qagogrDJExqV9294lZKw2pTrQ4+nh/1YiedUmH/m1KdPW9OlhD2M+Zv8iQKcTPW4YGS6U4ITRZ3xNMk/VfrM0= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3551.namprd11.prod.outlook.com (2603:10b6:208:ea::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Wed, 6 Jan 2021 12:06:04 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::74f2:ba7f:cb22:5272]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::74f2:ba7f:cb22:5272%7]) with mapi id 15.20.3721.024; Wed, 6 Jan 2021 12:06:04 +0000 From: "Xia, Chenbo" To: Maxime Coquelin , "dev@dpdk.org" , "olivier.matz@6wind.com" , "amorenoz@redhat.com" , "david.marchand@redhat.com" Thread-Topic: [PATCH 30/40] net/virtio: add Virtio-user vring address ops Thread-Index: AQHW1xVhkd7SwVFeQEKA/KbYwv1E6qoamhfA Date: Wed, 6 Jan 2021 12:06:03 +0000 Message-ID: References: <20201220211405.313012-1-maxime.coquelin@redhat.com> <20201220211405.313012-31-maxime.coquelin@redhat.com> In-Reply-To: <20201220211405.313012-31-maxime.coquelin@redhat.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.102.204.37] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 47080f36-327b-4153-095f-08d8b23b70f7 x-ms-traffictypediagnostic: MN2PR11MB3551: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4714; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: mTZ3wV5+Xodqptqxm6fg5N9U2cztGEZrPNrzVWYZB6ZgzGvE4g/+4+5hEiaPgU1s6b5+E2zsnbsQagGLQ6SrJjwcQzUbOLSzeqo0tSyQXHurUsQ9NsIVN03azchf+QXJKqnfv90w2z2IygzPsfzcd78i66ukJyeh6SmeO0EFOA3eWNYgKiUz+ub/u1IxU8XQE82ZRyfR3XH9nHac6iXe65ii2absti8zICtkz4nf0XnAZIPrtpACoLyB3K6TIkU7BIEIt6pW5ObKCTnGzJFYqLzeqk8VLqL4nGwC3MFn+FrNWZ4O92DMy6GNDPwkFLK80akOYlP4/v3ScM3P1HuEAlxu450A759MsyAsx44ncE2UgiM7KjgTWRo3NorecAbmUDN2Mcod/GLWsWUVbKxpyg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB4063.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(346002)(396003)(376002)(366004)(136003)(76116006)(66446008)(64756008)(66946007)(66476007)(66556008)(71200400001)(52536014)(6506007)(110136005)(53546011)(55016002)(2906002)(7696005)(478600001)(8936002)(9686003)(8676002)(33656002)(86362001)(26005)(83380400001)(186003)(5660300002)(316002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?dm4xTytjTkJZYXFyaklPbm9LUHRWRGtEUTY5R3psWUpuRGY5cFhFcnVIRXZK?= =?utf-8?B?TnB2aVlucDdvbkRtTFhhaTNkQzZpcE5UdEVacG1mNHAwSkZBOWZST0g5d3Vw?= =?utf-8?B?K0QrVVlZVE03amUwTVdkdEo5d0VDc1VRVVcxbHdrNWsybFo3VGUwZklSTDIv?= =?utf-8?B?eWlMYnJzKzI4OGwzSHdsM1pSRTE5d0U3aVBmdE5FVWZNZWVORTBoL2wvMTFS?= =?utf-8?B?aVo5R3NMZXBFcTQ5cU9xenU0NVNSWkV2OFdDRWR3Q1lvcktxYlpZQURQTDRJ?= =?utf-8?B?cUcwMGtHVUk2amRjZVVMUG5OLzlpY2VRUTJmV0lFM0xKQmI0RGtBVUNBQkJh?= =?utf-8?B?djdwL2ZZSFdRUGZ0L3RKUUpTZ3B2MTF2MVA4bG5JNk4vVGRra3ZPL0FwQUFw?= =?utf-8?B?NjV1a3RGcVBlUnF1dXhXSDZhTFpVMDg3MGV6d3JaL0VqVTJPMDR1RCs0K0hW?= =?utf-8?B?S0EzMVJyQ3dRSHRMTXV5N056SEdzVkFvQmJ0ZFlNeGxJRjhOdXdPTjltUG4y?= =?utf-8?B?L2IzMjBBVEY3TFVJVWRHUnlLS3NRSUdZTTFhcjB3K2VZeGo1U1FoSGpMVkQw?= =?utf-8?B?S1Zpc2RNcHNBVUd0WS9HcXFUbkNaWnJSbStubXVDYWdlV3dNNWJOM1ZiaXU3?= =?utf-8?B?S1RhSGtIOVJTVWZ0ZFh6cCtPL3dibm85MWtHckFDRkRlakRCUEIwcUJFUnhJ?= =?utf-8?B?aWY5QTNNWU5YbmY5bi9jOTVvMlBLRVVZZjRGSkxvbDBycXN6UWQ3RHFMNnp0?= =?utf-8?B?ZmduaWM4Q3gySVNvMW1LMWZkbWlCN2tqM0g2em1oSzBVcGovSEdISDljdFZm?= =?utf-8?B?WHZWVEhwRTlzRDB0ZHFKdnFwWUR1dWcrYlYwNXBKUFVaNFVnSzN1aWlBcGZJ?= =?utf-8?B?V1NJa2FEWURzUDBoNWxtOFQwOTR0MjVraVlnSUpoZnpaZm5FWlZxb28vRDJ5?= =?utf-8?B?SzZuY01CY0xjRXNVTy9hdmpEaEhDdE1Fb295NklVeTZpM0hQajJadE5FQnNh?= =?utf-8?B?UlI3TU15akdvN0M5S1VaQWVKUGtWVmhsYXMvRiszcGVpMTRmQW5Lb29NaXQz?= =?utf-8?B?MXZZZzlVOGxPc1J0MUNFU3NMdXRmN3oyOGdOTlV1Ym5PS1oxZUlTeEFzdTA1?= =?utf-8?B?ODJhTXIrSG5TWFJUQTdKOHlZNTVlV0xYdjl3OWU4L0VmcGhNS2w0YW45bDBK?= =?utf-8?B?OUw3MFMvT1VuaWxVbUdVVjhGSlNrK2lSa2dUTmlnY3hrUGpDTlNOL1drVGJm?= =?utf-8?B?eUxJQmNHQ2JjbUZxREVqRU00N3FaNjFzL2NlQ1NZOWVWb2JsTXhSV2tST2Va?= =?utf-8?Q?mTElVeph/QD9M=3D?= 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-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB4063.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 47080f36-327b-4153-095f-08d8b23b70f7 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jan 2021 12:06:03.9248 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: BEQTQ+eU4hCg5cg3b6KwqHbpvhaLx5DjEMz+jvHvjFIypc01W/60VSJIMv/D372T1l5DgvJIhdCANIr5GukNCw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3551 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH 30/40] net/virtio: add Virtio-user vring address ops 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" SGkgTWF4aW1lLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1heGlt ZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+IFNlbnQ6IE1vbmRheSwg RGVjZW1iZXIgMjEsIDIwMjAgNToxNCBBTQ0KPiBUbzogZGV2QGRwZGsub3JnOyBYaWEsIENoZW5i byA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+OyBvbGl2aWVyLm1hdHpANndpbmQuY29tOw0KPiBhbW9y ZW5vekByZWRoYXQuY29tOyBkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tDQo+IENjOiBNYXhpbWUg Q29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTdWJqZWN0OiBbUEFUQ0gg MzAvNDBdIG5ldC92aXJ0aW86IGFkZCBWaXJ0aW8tdXNlciB2cmluZyBhZGRyZXNzIG9wcw0KPiAN Cj4gVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGEgbmV3IGNhbGxiYWNrIGZvciBzZXR0aW5nDQo+IHZy aW5ncyBhZGRyZXNzZXMuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBNYXhpbWUgQ29xdWVsaW4gPG1h eGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiAtLS0NCj4gIGRyaXZlcnMvbmV0L3ZpcnRpby92 aXJ0aW9fdXNlci92aG9zdC5oICAgICAgICB8ICAxICsNCj4gIGRyaXZlcnMvbmV0L3ZpcnRpby92 aXJ0aW9fdXNlci92aG9zdF9rZXJuZWwuYyB8IDMyICsrKysrKysrKysrKystLS0tLS0NCj4gIGRy aXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF91c2VyLmMgICB8IDI5ICsrKysrKysr KysrKystLS0tDQo+ICBkcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3RfdmRwYS5j ICAgfCAgOCArKysrLQ0KPiAgLi4uL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmlydGlvX3VzZXJf ZGV2LmMgIHwgIDIgKy0NCj4gIDUgZmlsZXMgY2hhbmdlZCwgNTUgaW5zZXJ0aW9ucygrKSwgMTcg ZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRp b191c2VyL3Zob3N0LmgNCj4gYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3Qu aA0KPiBpbmRleCBiMjk2ZWUyMTVkLi45NTZlYjU4NzI4IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJz L25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3QuaA0KPiArKysgYi9kcml2ZXJzL25ldC92aXJ0 aW8vdmlydGlvX3VzZXIvdmhvc3QuaA0KPiBAQCAtMTEzLDYgKzExMyw3IEBAIHN0cnVjdCB2aXJ0 aW9fdXNlcl9iYWNrZW5kX29wcyB7DQo+ICAJaW50ICgqZ2V0X3ZyaW5nX2Jhc2UpKHN0cnVjdCB2 aXJ0aW9fdXNlcl9kZXYgKmRldiwgc3RydWN0DQo+IHZob3N0X3ZyaW5nX3N0YXRlICpzdGF0ZSk7 DQo+ICAJaW50ICgqc2V0X3ZyaW5nX2NhbGwpKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwg c3RydWN0DQo+IHZob3N0X3ZyaW5nX2ZpbGUgKmZpbGUpOw0KPiAgCWludCAoKnNldF92cmluZ19r aWNrKShzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsIHN0cnVjdA0KPiB2aG9zdF92cmluZ19m aWxlICpmaWxlKTsNCj4gKwlpbnQgKCpzZXRfdnJpbmdfYWRkcikoc3RydWN0IHZpcnRpb191c2Vy X2RldiAqZGV2LCBzdHJ1Y3QNCj4gdmhvc3RfdnJpbmdfYWRkciAqYWRkcik7DQo+ICAJaW50ICgq c2VuZF9yZXF1ZXN0KShzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsDQo+ICAJCQkgICAgZW51 bSB2aG9zdF91c2VyX3JlcXVlc3QgcmVxLA0KPiAgCQkJICAgIHZvaWQgKmFyZyk7DQo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3Rfa2VybmVsLmMNCj4g Yi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3Rfa2VybmVsLmMNCj4gaW5kZXgg MTgwNWFlZTdmNy4uOGNkODZiNzJjNiAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvdmlydGlv L3ZpcnRpb191c2VyL3Zob3N0X2tlcm5lbC5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L3ZpcnRpby92 aXJ0aW9fdXNlci92aG9zdF9rZXJuZWwuYw0KPiBAQCAtMjk0LDkgKzI5NCwzMCBAQCB2aG9zdF9r ZXJuZWxfc2V0X3ZyaW5nX2NhbGwoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LA0KPiBzdHJ1 Y3Qgdmhvc3RfdnJpbmdfZmlsZQ0KPiAgCXJldHVybiB2aG9zdF9rZXJuZWxfc2V0X3ZyaW5nX2Zp bGUoZGV2LCBWSE9TVF9TRVRfVlJJTkdfS0lDSywgZmlsZSk7DQo+ICB9DQo+IA0KPiArc3RhdGlj IGludA0KPiArdmhvc3Rfa2VybmVsX3NldF92cmluZ19hZGRyKHN0cnVjdCB2aXJ0aW9fdXNlcl9k ZXYgKmRldiwgc3RydWN0DQo+IHZob3N0X3ZyaW5nX2FkZHIgKmFkZHIpDQo+ICt7DQo+ICsJaW50 IHJldCwgZmQ7DQo+ICsJdWludDMyX3QgaW5kZXggPSBhZGRyLT5pbmRleDsNCg0KQmV0dGVyIHVz ZSAndW5zaWduZWQgaW50IGluZGV4JyBoZXJlPyBJdCBjYW4gaGFyZGx5IGNhdXNlIHByb2JsZW0g YnV0IEkgdGhpbmsNCml0J3MgYmV0dGVyIHRvIHVzZSB0aGUgdHlwZSBpbiBzdHJ1Y3Qgdmhvc3Rf dnJpbmdfYWRkci4NCg0KVGhhbmtzLA0KQ2hlbmJvDQoNCj4gKw0KPiArCS8qIENvbnZlcnQgZnJv bSBxdWV1ZSBpbmRleCB0byBxdWV1ZS1wYWlyICYgb2Zmc2V0ICovDQo+ICsJZmQgPSBkZXYtPnZo b3N0ZmRzW2FkZHItPmluZGV4IC8gMl07DQo+ICsJYWRkci0+aW5kZXggJT0gMjsNCj4gKw0KPiAr CXJldCA9IHZob3N0X2tlcm5lbF9pb2N0bChmZCwgVkhPU1RfU0VUX1ZSSU5HX0FERFIsIGFkZHIp Ow0KPiArCWlmIChyZXQgPCAwKSB7DQo+ICsJCVBNRF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBz ZXQgdnJpbmcgYWRkcmVzcyIpOw0KPiArCQlyZXR1cm4gLTE7DQo+ICsJfQ0KPiArDQo+ICsJLyog cmVzdG9yZSBpbmRleCBiYWNrIHRvIHF1ZXVlIGluZGV4ICovDQo+ICsJYWRkci0+aW5kZXggPSBp bmRleDsNCj4gKw0KPiArCXJldHVybiAwOw0KPiArfQ0KPiArDQo+ICBzdGF0aWMgdWludDY0X3Qg dmhvc3RfcmVxX3VzZXJfdG9fa2VybmVsW10gPSB7DQo+ICAJW1ZIT1NUX1VTRVJfUkVTRVRfT1dO RVJdID0gVkhPU1RfUkVTRVRfT1dORVIsDQo+IC0JW1ZIT1NUX1VTRVJfU0VUX1ZSSU5HX0FERFJd ID0gVkhPU1RfU0VUX1ZSSU5HX0FERFIsDQo+ICB9Ow0KPiANCj4gIHN0YXRpYyBpbnQNCj4gQEAg LTMwOCwyMCArMzI5LDEyIEBAIHZob3N0X2tlcm5lbF9zZW5kX3JlcXVlc3Qoc3RydWN0IHZpcnRp b191c2VyX2RldiAqZGV2LA0KPiAgCXVuc2lnbmVkIGludCBpOw0KPiAgCXVpbnQ2NF90IHJlcV9r ZXJuZWw7DQo+ICAJaW50IHZob3N0ZmQ7DQo+IC0JdW5zaWduZWQgaW50IHF1ZXVlX3NlbDsNCj4g DQo+ICAJUE1EX0RSVl9MT0coSU5GTywgIiVzIiwgdmhvc3RfbXNnX3N0cmluZ3NbcmVxXSk7DQo+ IA0KPiAgCXJlcV9rZXJuZWwgPSB2aG9zdF9yZXFfdXNlcl90b19rZXJuZWxbcmVxXTsNCj4gDQo+ ICAJc3dpdGNoIChyZXFfa2VybmVsKSB7DQo+IC0JY2FzZSBWSE9TVF9TRVRfVlJJTkdfQUREUjoN Cj4gLQkJcXVldWVfc2VsID0gKih1bnNpZ25lZCBpbnQgKilhcmc7DQo+IC0JCXZob3N0ZmQgPSBk ZXYtPnZob3N0ZmRzW3F1ZXVlX3NlbCAvIDJdOw0KPiAtCQkqKHVuc2lnbmVkIGludCAqKWFyZyA9 IHF1ZXVlX3NlbCAlIDI7DQo+IC0JCVBNRF9EUlZfTE9HKERFQlVHLCAidmhvc3RmZD0lZCwgaW5k ZXg9JXUiLA0KPiAtCQkJICAgIHZob3N0ZmQsICoodW5zaWduZWQgaW50ICopYXJnKTsNCj4gLQkJ YnJlYWs7DQo+ICAJZGVmYXVsdDoNCj4gIAkJdmhvc3RmZCA9IC0xOw0KPiAgCX0NCj4gQEAgLTQ3 Myw2ICs0ODYsNyBAQCBzdHJ1Y3QgdmlydGlvX3VzZXJfYmFja2VuZF9vcHMgdmlydGlvX29wc19r ZXJuZWwgPSB7DQo+ICAJLmdldF92cmluZ19iYXNlID0gdmhvc3Rfa2VybmVsX2dldF92cmluZ19i YXNlLA0KPiAgCS5zZXRfdnJpbmdfY2FsbCA9IHZob3N0X2tlcm5lbF9zZXRfdnJpbmdfY2FsbCwN Cj4gIAkuc2V0X3ZyaW5nX2tpY2sgPSB2aG9zdF9rZXJuZWxfc2V0X3ZyaW5nX2tpY2ssDQo+ICsJ LnNldF92cmluZ19hZGRyID0gdmhvc3Rfa2VybmVsX3NldF92cmluZ19hZGRyLA0KPiAgCS5zZW5k X3JlcXVlc3QgPSB2aG9zdF9rZXJuZWxfc2VuZF9yZXF1ZXN0LA0KPiAgCS5lbmFibGVfcXAgPSB2 aG9zdF9rZXJuZWxfZW5hYmxlX3F1ZXVlX3BhaXINCj4gIH07DQo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3RfdXNlci5jDQo+IGIvZHJpdmVycy9uZXQv dmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X3VzZXIuYw0KPiBpbmRleCA1MDlhOTZkZmJjLi41OWNm MzY2NjgzIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhv c3RfdXNlci5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF91 c2VyLmMNCj4gQEAgLTUyMywxMSArNTIzLDMyIEBAIHZob3N0X3VzZXJfc2V0X3ZyaW5nX2tpY2so c3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LA0KPiBzdHJ1Y3Qgdmhvc3RfdnJpbmdfZmlsZSAq DQo+ICAJcmV0dXJuIHZob3N0X3VzZXJfc2V0X3ZyaW5nX2ZpbGUoZGV2LCBWSE9TVF9VU0VSX1NF VF9WUklOR19LSUNLLCBmaWxlKTsNCj4gIH0NCj4gDQo+ICsNCj4gK3N0YXRpYyBpbnQNCj4gK3Zo b3N0X3VzZXJfc2V0X3ZyaW5nX2FkZHIoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LCBzdHJ1 Y3QNCj4gdmhvc3RfdnJpbmdfYWRkciAqYWRkcikNCj4gK3sNCj4gKwlpbnQgcmV0Ow0KPiArCXN0 cnVjdCB2aG9zdF91c2VyX21zZyBtc2cgPSB7DQo+ICsJCS5yZXF1ZXN0ID0gVkhPU1RfVVNFUl9T RVRfVlJJTkdfQUREUiwNCj4gKwkJLmZsYWdzID0gVkhPU1RfVVNFUl9WRVJTSU9OLA0KPiArCQku c2l6ZSA9IHNpemVvZigqYWRkciksDQo+ICsJCS5wYXlsb2FkLmFkZHIgPSAqYWRkciwNCj4gKwl9 Ow0KPiArDQo+ICsJcmV0ID0gdmhvc3RfdXNlcl93cml0ZShkZXYtPnZob3N0ZmQsICZtc2csIE5V TEwsIDApOw0KPiArCWlmIChyZXQgPCAwKSB7DQo+ICsJCVBNRF9EUlZfTE9HKEVSUiwgIkZhaWxl ZCB0byBzZW5kIHZyaW5nIGFkZHJlc3NlcyIpOw0KPiArCQlyZXR1cm4gLTE7DQo+ICsJfQ0KPiAr DQo+ICsJcmV0dXJuIDA7DQo+ICt9DQo+ICsNCj4gKw0KPiAgc3RhdGljIHN0cnVjdCB2aG9zdF91 c2VyX21zZyBtOw0KPiANCj4gIGNvbnN0IGNoYXIgKiBjb25zdCB2aG9zdF9tc2dfc3RyaW5nc1td ID0gew0KPiAgCVtWSE9TVF9VU0VSX1JFU0VUX09XTkVSXSA9ICJWSE9TVF9SRVNFVF9PV05FUiIs DQo+IC0JW1ZIT1NUX1VTRVJfU0VUX1ZSSU5HX0FERFJdID0gIlZIT1NUX1NFVF9WUklOR19BRERS IiwNCj4gIAlbVkhPU1RfVVNFUl9TRVRfU1RBVFVTXSA9ICJWSE9TVF9TRVRfU1RBVFVTIiwNCj4g IAlbVkhPU1RfVVNFUl9HRVRfU1RBVFVTXSA9ICJWSE9TVF9HRVRfU1RBVFVTIiwNCj4gIH07DQo+ IEBAIC01ODksMTEgKzYxMCw2IEBAIHZob3N0X3VzZXJfc29jayhzdHJ1Y3QgdmlydGlvX3VzZXJf ZGV2ICpkZXYsDQo+ICAJCWZkc1tmZF9udW0rK10gPSAqKChpbnQgKilhcmcpOw0KPiAgCQlicmVh azsNCj4gDQo+IC0JY2FzZSBWSE9TVF9VU0VSX1NFVF9WUklOR19BRERSOg0KPiAtCQltZW1jcHko Jm1zZy5wYXlsb2FkLmFkZHIsIGFyZywgc2l6ZW9mKG1zZy5wYXlsb2FkLmFkZHIpKTsNCj4gLQkJ bXNnLnNpemUgPSBzaXplb2YobS5wYXlsb2FkLmFkZHIpOw0KPiAtCQlicmVhazsNCj4gLQ0KPiAg CWNhc2UgVkhPU1RfVVNFUl9TRVRfVlJJTkdfRVJSOg0KPiAgCQlmaWxlID0gYXJnOw0KPiAgCQlt c2cucGF5bG9hZC51NjQgPSBmaWxlLT5pbmRleCAmIFZIT1NUX1VTRVJfVlJJTkdfSURYX01BU0s7 DQo+IEBAIC03NjcsNiArNzgzLDcgQEAgc3RydWN0IHZpcnRpb191c2VyX2JhY2tlbmRfb3BzIHZp cnRpb19vcHNfdXNlciA9IHsNCj4gIAkuZ2V0X3ZyaW5nX2Jhc2UgPSB2aG9zdF91c2VyX2dldF92 cmluZ19iYXNlLA0KPiAgCS5zZXRfdnJpbmdfY2FsbCA9IHZob3N0X3VzZXJfc2V0X3ZyaW5nX2Nh bGwsDQo+ICAJLnNldF92cmluZ19raWNrID0gdmhvc3RfdXNlcl9zZXRfdnJpbmdfa2ljaywNCj4g Kwkuc2V0X3ZyaW5nX2FkZHIgPSB2aG9zdF91c2VyX3NldF92cmluZ19hZGRyLA0KPiAgCS5zZW5k X3JlcXVlc3QgPSB2aG9zdF91c2VyX3NvY2ssDQo+ICAJLmVuYWJsZV9xcCA9IHZob3N0X3VzZXJf ZW5hYmxlX3F1ZXVlX3BhaXINCj4gIH07DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92aXJ0 aW8vdmlydGlvX3VzZXIvdmhvc3RfdmRwYS5jDQo+IGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRp b191c2VyL3Zob3N0X3ZkcGEuYw0KPiBpbmRleCA0OGZlM2YyM2U4Li5lMDllN2M5ZmI4IDEwMDY0 NA0KPiAtLS0gYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3RfdmRwYS5jDQo+ ICsrKyBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF92ZHBhLmMNCj4gQEAg LTM2LDcgKzM2LDYgQEANCj4gDQo+ICBzdGF0aWMgdWludDY0X3Qgdmhvc3RfcmVxX3VzZXJfdG9f dmRwYVtdID0gew0KPiAgCVtWSE9TVF9VU0VSX1JFU0VUX09XTkVSXSA9IFZIT1NUX1JFU0VUX09X TkVSLA0KPiAtCVtWSE9TVF9VU0VSX1NFVF9WUklOR19BRERSXSA9IFZIT1NUX1NFVF9WUklOR19B RERSLA0KPiAgCVtWSE9TVF9VU0VSX1NFVF9TVEFUVVNdID0gVkhPU1RfVkRQQV9TRVRfU1RBVFVT LA0KPiAgCVtWSE9TVF9VU0VSX0dFVF9TVEFUVVNdID0gVkhPU1RfVkRQQV9HRVRfU1RBVFVTLA0K PiAgfTsNCj4gQEAgLTI0OCw2ICsyNDcsMTIgQEAgdmhvc3RfdmRwYV9zZXRfdnJpbmdfa2ljayhz dHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsDQo+IHN0cnVjdCB2aG9zdF92cmluZ19maWxlICoN Cj4gIAlyZXR1cm4gdmhvc3RfdmRwYV9pb2N0bChkZXYtPnZob3N0ZmQsIFZIT1NUX1NFVF9WUklO R19LSUNLLCBmaWxlKTsNCj4gIH0NCj4gDQo+ICtzdGF0aWMgaW50DQo+ICt2aG9zdF92ZHBhX3Nl dF92cmluZ19hZGRyKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwgc3RydWN0DQo+IHZob3N0 X3ZyaW5nX2FkZHIgKmFkZHIpDQo+ICt7DQo+ICsJcmV0dXJuIHZob3N0X3ZkcGFfaW9jdGwoZGV2 LT52aG9zdGZkLCBWSE9TVF9TRVRfVlJJTkdfQUREUiwgYWRkcik7DQo+ICt9DQo+ICsNCj4gIC8q IHdpdGggYmVsb3cgZmVhdHVyZXMsIHZob3N0IHZkcGEgZG9lcyBub3QgbmVlZCB0byBkbyB0aGUg Y2hlY2tzdW0gYW5kIFRTTywNCj4gICAqIHRoZXNlIGluZm8gd2lsbCBiZSBwYXNzZWQgdG8gdmly dGlvX3VzZXIgdGhyb3VnaCB2aXJ0aW8gbmV0IGhlYWRlci4NCj4gICAqLw0KPiBAQCAtMzU3LDYg KzM2Miw3IEBAIHN0cnVjdCB2aXJ0aW9fdXNlcl9iYWNrZW5kX29wcyB2aXJ0aW9fb3BzX3ZkcGEg PSB7DQo+ICAJLmdldF92cmluZ19iYXNlID0gdmhvc3RfdmRwYV9nZXRfdnJpbmdfYmFzZSwNCj4g IAkuc2V0X3ZyaW5nX2NhbGwgPSB2aG9zdF92ZHBhX3NldF92cmluZ19jYWxsLA0KPiAgCS5zZXRf dnJpbmdfa2ljayA9IHZob3N0X3ZkcGFfc2V0X3ZyaW5nX2tpY2ssDQo+ICsJLnNldF92cmluZ19h ZGRyID0gdmhvc3RfdmRwYV9zZXRfdnJpbmdfYWRkciwNCj4gIAkuc2VuZF9yZXF1ZXN0ID0gdmhv c3RfdmRwYV9zZW5kX3JlcXVlc3QsDQo+ICAJLmVuYWJsZV9xcCA9IHZob3N0X3ZkcGFfZW5hYmxl X3F1ZXVlX3BhaXIsDQo+ICAJLmRtYV9tYXAgPSB2aG9zdF92ZHBhX2RtYV9tYXAsDQo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmlydGlvX3VzZXJfZGV2LmMN Cj4gYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmlydGlvX3VzZXJfZGV2LmMNCj4g aW5kZXggZTQ5NzU4MzhlYS4uNDhjYTdhMjU0OCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQv dmlydGlvL3ZpcnRpb191c2VyL3ZpcnRpb191c2VyX2Rldi5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0 L3ZpcnRpby92aXJ0aW9fdXNlci92aXJ0aW9fdXNlcl9kZXYuYw0KPiBAQCAtODEsNyArODEsNyBA QCB2aXJ0aW9fdXNlcl9raWNrX3F1ZXVlKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwgdWlu dDMyX3QNCj4gcXVldWVfc2VsKQ0KPiAgCQlzdGF0ZS5udW0gfD0gKDEgPDwgMTUpOw0KPiAgCWRl di0+b3BzLT5zZXRfdnJpbmdfYmFzZShkZXYsICZzdGF0ZSk7DQo+IA0KPiAtCWRldi0+b3BzLT5z ZW5kX3JlcXVlc3QoZGV2LCBWSE9TVF9VU0VSX1NFVF9WUklOR19BRERSLCAmYWRkcik7DQo+ICsJ ZGV2LT5vcHMtPnNldF92cmluZ19hZGRyKGRldiwgJmFkZHIpOw0KPiANCj4gIAkvKiBPZiBhbGwg cGVyIHZpcnRxdWV1ZSBNU0dzLCBtYWtlIHN1cmUgVkhPU1RfVVNFUl9TRVRfVlJJTkdfS0lDSyBj b21lcw0KPiAgCSAqIGxhc3RseSBiZWNhdXNlIHZob3N0IGRlcGVuZHMgb24gdGhpcyBtc2cgdG8g anVkZ2UgaWYNCj4gLS0NCj4gMi4yOS4yDQoNCg==