From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 75028A0552; Fri, 21 Oct 2022 06:47:05 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 66A7042836; Fri, 21 Oct 2022 06:47:05 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id 080E84282D for ; Fri, 21 Oct 2022 06:47:03 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1666327624; x=1697863624; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=VXZEjEz0BsGqEkWvHAsptute10MJ2hF8rsKp3yw4Ryo=; b=nAA9p6wh7uLkGEcvMgN0WUGmn9c49SzfUStEZPcEmxCPUsQSzRVbdCyF YJYQojlhn1+321TY3gcIsHgT4jy++tyv5I+edt37hDW00i68PX1pVYcm1 kd3oc/KrpJUDZuaqujL8TYBRKdrKeHZ32/bpPO4xZgCwvdBxrqwMZxL2I QzBtrzkelJ6yg8VQlDCdq6uXoi6LuCwyHko7+BERVbtHP7fruBctbJsxU Z29vVlfSDgDDkFV+2CnxI9TcMH/sIUsAdgSTW2NYhyC42ZSEVwWFQO8rL DkQgTAc1asOuh7QS3b1Zd+1fJt9XGtVucomfoXQKWba9AI2OASBUfpcVt A==; X-IronPort-AV: E=McAfee;i="6500,9779,10506"; a="308593749" X-IronPort-AV: E=Sophos;i="5.95,200,1661842800"; d="scan'208";a="308593749" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Oct 2022 21:47:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10506"; a="699116262" X-IronPort-AV: E=Sophos;i="5.95,200,1661842800"; d="scan'208";a="699116262" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga004.fm.intel.com with ESMTP; 20 Oct 2022 21:47:02 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Thu, 20 Oct 2022 21:47:02 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Thu, 20 Oct 2022 21:47:02 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Thu, 20 Oct 2022 21:47:02 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.173) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Thu, 20 Oct 2022 21:47:01 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MtYDpPt2s149h0IrsqAZ11yHdTcKuDHoCOOe+9mTVtjjzM4ssrd+RBXR57XjdHADoeHsyrV6YED4ReekX7KjOcAFunQ5gkFY1nORLSn+pbtAYLNkvJ3kDKh+8DTnBvKP2XlfQoQFUVrDF4SwTm2ip0VtmwcEN/RQxk/IpYaX+vvD8ho9c+4rvZElUiKlr/dTzQRqzCfKOB1yaeXMjnSW6bbfIWHLFHfranyaQ7gxOI8UH+L1XUxD+kOVlsHJfCrqqNLYD7cATPH6GjjWvojVIVNmuYhudn4tFvCfgKPTxgvO9WjL312grxTXBqlnr+B8ScizPjO+rlv0oLXJ1gMOnA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=VXZEjEz0BsGqEkWvHAsptute10MJ2hF8rsKp3yw4Ryo=; b=DcdF2dewB7C1KfIRR2CrC4t+ZBZoUlvAGBZeuIZbAuQ495l43Sqkx9izvhv79giDAwDB/zulB3MQ3vFI7VyKTeZeUM3RJcUrg4xCW4XHrDguGWXTqtkyyMXykLGITAwcRLdeITBi0uA7eZOxFS+7iQXwyaCo5Y8ELF7/Dvl6ZGTxPdwPG+2C4Gx/+GyDS4hVNEwxhtve4PHGR2HzhBSCLjQ07r8FyIg9vmuOFZUS3oAIxJhBEgjBgOOxfKgxF1ousm9EQ/BRgCL9X+fcL7sa4C48F5Z5xvv9dzXUtF988hkn/gPZ0HLHTXjxSGN5XsdeDBKt25l4ZT6Ba3YiFI/+3g== 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 Received: from DM6PR11MB3723.namprd11.prod.outlook.com (2603:10b6:5:13f::25) by SJ2PR11MB7647.namprd11.prod.outlook.com (2603:10b6:a03:4c3::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.34; Fri, 21 Oct 2022 04:47:00 +0000 Received: from DM6PR11MB3723.namprd11.prod.outlook.com ([fe80::126d:f905:c1d6:dcb9]) by DM6PR11MB3723.namprd11.prod.outlook.com ([fe80::126d:f905:c1d6:dcb9%5]) with mapi id 15.20.5723.033; Fri, 21 Oct 2022 04:46:59 +0000 From: "Guo, Junfeng" To: Ferruh Yigit , "Li, Xiaoyun" , "Zhang, Qi Z" , "Wu, Jingjing" CC: "ferruh.yigit@xilinx.com" , "dev@dpdk.org" , "awogbemila@google.com" , "Richardson, Bruce" , "Lin, Xueqin" , "Wang, Haiyue" Subject: RE: [PATCH v5 3/8] net/gve: add support for device initialization Thread-Topic: [PATCH v5 3/8] net/gve: add support for device initialization Thread-Index: AQHY3JHEfqNcpsXrwEGsUALSIPl/9K4VyTAAgAAlHwCAAFQ3gIAAyjaQgAAkyACAASVEMA== Date: Fri, 21 Oct 2022 04:46:59 +0000 Message-ID: References: <20220927073255.1803892-2-junfeng.guo@intel.com> <20221010101757.878317-1-junfeng.guo@intel.com> <20221010101757.878317-4-junfeng.guo@intel.com> <718a5294-822e-40ec-bbe7-0f650c428ad9@amd.com> <64c15da3-d053-395c-ec7f-2b9d8628089e@amd.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.500.17 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM6PR11MB3723:EE_|SJ2PR11MB7647:EE_ x-ms-office365-filtering-correlation-id: d8e102f4-98fb-4098-4015-08dab31f49e3 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: nf8aHOWabVsslZZ+pmfevzukkW1BFjP0B5BftWnLw3WdG5RLYGshAlcuAeMG9TwD5+f1n+7F7qpIbQsLOfkOTktGPIQsIG6SeK/ml/dHIcNFrIBjHHUbAEkUa3XwAleWJHoGSn6X3PCVyGFtS/wQbtFOf365omzca6NwLJoKrH1ii30wNL0i49a8i6t/wXFZFUnbE3TFMOkLQTeoyrRLtxwnO4FKA/7oYYlXZoGt6Wm1aDoZdWUtDa2g1oUaZyIsJBhq1DwYrJEVl5qQ3dJGa8OhQz00N8VGj/gjy6Bq7+TlF95pHT6KAkNrh7GroA+pv/9AIrSxPPwqNIUd7jlCA2RZKO6pRYMk+OHm2ZhwLUkm9C7hp834IY8ociRQVG8+M9sXBUOIZOhT9ep4RN74bFfuMNCIqSfo+zebPCCiy7LyiSav0QTql+d+o2gjLaGtCzX07m/TusoU6AqErOVRWrRV8rfAdIgpOTgOMo89H0VZwuw+oiyuh73LgX+vapKsaUWx8kpa88DuWC83fUUbzuU/S2t9KyHOV9kEgcIMc+obVon3Dq+eiVyrLS3BpU23Ga3fTg3nmNiGXteoYrECXifz9waOUizOxFsGmCGJJ3rbdyUgJ2ouzguX7UCsi1NuBDCzxJzSlbrEXiQ03GCFnoKcid6JmaBCS4nfBlStL6S+p0jVNFxFJM/VcbfpnmGwZNA6TnI7ieVdS9o62hX0zTZoYjNxmFcAmDd4pbn36QngWKpIsoKUslpvbCKQq0GBLuZ6k1QuoI3v7WggJjVUag== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB3723.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(346002)(376002)(396003)(366004)(39860400002)(136003)(451199015)(86362001)(38100700002)(66446008)(5660300002)(107886003)(186003)(6506007)(7696005)(55016003)(64756008)(66946007)(66556008)(66476007)(4326008)(76116006)(52536014)(9686003)(122000001)(8936002)(41300700001)(8676002)(2906002)(26005)(83380400001)(53546011)(478600001)(71200400001)(82960400001)(38070700005)(6636002)(33656002)(316002)(110136005)(54906003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Uk5vZmxtVThmY3crQzdKcjRSMzFFUDNIcGV6MUR5enMzWW5CV2g1N2g2Tjhw?= =?utf-8?B?YTFPMjNwd0c1enhhNy9qU3ZpRTV2OGsyanJPdE52YTJsNWh3UEdlZFh4QmRs?= =?utf-8?B?N0N1TThucVBveXVoNjRrSHRtaGhSb0hoR2Jyd2xSUUFhRWdPT2IwN1YvZEVi?= =?utf-8?B?N2dlZk1ub3RTL2pVN3ZkNnNUYld1bkFpZFY1YjQvcmhoZjlPcVg2TXJleERz?= =?utf-8?B?ZDNNbFU0bzRhMVJMY1BxQXJ2OUFPVGxlbUduVEFGcS9sM2xhbTFwL1F5TXpD?= =?utf-8?B?Sm5Camk5MmplR0EzQlVjaERHYkdsaTR4Y0xVZDJlc08yaHhGeEExZFpRSm5D?= =?utf-8?B?dXZkVnRET2xzeW1vRXpwWkJTaHpNa3hvdVZMaXhUOXVFWEcrMFFWaE5JUldM?= =?utf-8?B?bm9TWWthZkdUMTIwK0ltVmlEZHo0bGJ3MC95U040Ym1ueWZadkNLbWc2dWph?= =?utf-8?B?SGd1WlhmRXladTAvaWo4MzJ5UHhPakxqWWdhb3Z3Z1UwZmFEMHNLd1diU25w?= =?utf-8?B?Yis5VVpaMXo1aDZvZWxCRmphbXVyalYxbkN1VlhhS3Awd0U0dGdsQU8wek1m?= =?utf-8?B?dkZKb3o4dCtldWFuNjlsYVV2bCsxWUUwZW40aTdSRmpHQXlLUWRKRy8wUU5O?= =?utf-8?B?UnRXSm5ac2FuSllyaXV6UFdpTkFBWSt2Si9Eb1pERURWNjl0OUV4YmYzcitT?= =?utf-8?B?SkdvZVBZZXZSK2JWL05IN25wMVZ2UVJWY3BoUCtMQUJDeEdoVWNhc2VCTlR4?= =?utf-8?B?bmRTUVdPRmVFUDVxcE9JUzh6UVBqNEc5ZjFiV0ZkYVZYU0RZVTRSR2syZjJI?= =?utf-8?B?d2dsUmxqaEJzN3pFcXNzU3F4YlZQdlZMRS83Z2lKV2hzZStVZ1VjbzFBYXJl?= =?utf-8?B?bCttTGN3dkFoQWdVN0VaZVZyRTN0SDNLQUxNYUNIL3hpQzY4ajNzWUg0eGla?= =?utf-8?B?YkJtZldiSjA4dWFwSFV2c0EwWGZGMk5IWG90b2syTGt6YVg4ZzdsOFprMGFT?= =?utf-8?B?a041eGRNL3BPSEEydEI1cGdFU1pObjVLaEdMWXBySU9yQ05DREVrYVVVQlMy?= =?utf-8?B?Q3BFZnZ4L0JUUjB5ODZGb0N6TXF2Vkh6Y0Z6UDJwWWZhVGVRZDBBQWt2TC9P?= =?utf-8?B?NTA1UkFmZjhwU3g0elFWNGlObTFXbXgxVzIvT3MrcGJJeTB3MjdTSWhJdTVJ?= =?utf-8?B?dUJadHpUMEY3VURwbzMwSmc3bmtkRGtOdzV1aDdxUVl3WDlFK2w4eWlPYjkz?= =?utf-8?B?UW1jSDRpdXlDNldVYURvK1N4aEtSN2VqR0QrU2ViclFaRndLRjU5QzdyeEtN?= =?utf-8?B?anVDNmJJN0w1M1dKKzFEU1lBM01KU2hCRlBKUnhkVC94QUc2VmorVnNBRGRy?= =?utf-8?B?d0Mxai9aSzlZWnJOT3JNTi91UE5IeXdJOWgzUmdvRTJ0RXFlaGIyb0RnUmpq?= =?utf-8?B?a2VKb1Q1dWN3MWxjZTc1cGlLYlBqSFBzKzQ3NUw3dE5LMkpVZUFvalMvbUpx?= =?utf-8?B?ZVR5bFRSb2wvZjBFa3VleEhnblV1dWdHRHk1aEVMeTlTK2VzNkFySGd0TC85?= =?utf-8?B?L0dBbVBZcjdVVmpUdWsrejBBYk9GcjVKdmcrUFRwUjk2WGdLQ1NtWUxOY1ZE?= =?utf-8?B?Vm82cnZDSVpzYkllY3E2WEllNEY3WjNETkZyaU0zU1FKWXUvUENGcUpKR3RT?= =?utf-8?B?WlhKZE1Rdm9WTXBLbisybFordzJoTUZ6L0VneVhGV0NsZkN5Z0t5cTBoTzRD?= =?utf-8?B?d2tPbkxwZG5McGdwTTdyRXE4YkljZ2RpSG52ZCtPbngrVUtVM1h6UjBiM1Vt?= =?utf-8?B?Y01MRjZUdFpHU1J4WlVkSFZBRjVxUVBOVHkwRWdnOS8vUFJiSGlvaHdlbnZt?= =?utf-8?B?TlJ2cXl3b1N1WW5lcEJ1eWJDN3V1ajVSTVZuT2l4MFBuTDhOS0ovc1F5VWI2?= =?utf-8?B?VzA2UFNrVUNjN2Y3UmZSVHRZYmRuaElKcTdPU2hCSWk0eXJWZ3NSRzJMV3ZT?= =?utf-8?B?UXpycXdTalc5VnJmeGpBZDc5WUFhdVdtRTVqTEFZUmxzOFo2NGQ3MlVUMXFv?= =?utf-8?B?c2R4N3RxaCtJZjMybHNQY1ZhUnNMYVNYdENScURLUDVtQjFiQkdNUUQvMGxj?= =?utf-8?Q?PGSr6Ir0+kUA1EqVqZRbAMN9l?= 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: DM6PR11MB3723.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d8e102f4-98fb-4098-4015-08dab31f49e3 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Oct 2022 04:46:59.0709 (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: HHgdlRk9sAfnAMBwFJEbHkOh+8hyAeM2rrtQCKyEC3/bv8ESrjY/TGJ/g5gTTVT+lUM4/pRoEkGx6PnCgBuGrA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR11MB7647 X-OriginatorOrg: intel.com 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0IDxm ZXJydWgueWlnaXRAYW1kLmNvbT4NCj4gU2VudDogVGh1cnNkYXksIE9jdG9iZXIgMjAsIDIwMjIg MTk6MTYNCj4gVG86IEd1bywgSnVuZmVuZyA8anVuZmVuZy5ndW9AaW50ZWwuY29tPjsgTGksIFhp YW95dW4NCj4gPHhpYW95dW4ubGlAaW50ZWwuY29tPjsgWmhhbmcsIFFpIFogPHFpLnouemhhbmdA aW50ZWwuY29tPjsgV3UsIEppbmdqaW5nDQo+IDxqaW5namluZy53dUBpbnRlbC5jb20+DQo+IENj OiBmZXJydWgueWlnaXRAeGlsaW54LmNvbTsgZGV2QGRwZGsub3JnOyBhd29nYmVtaWxhQGdvb2ds ZS5jb207DQo+IFJpY2hhcmRzb24sIEJydWNlIDxicnVjZS5yaWNoYXJkc29uQGludGVsLmNvbT47 IExpbiwgWHVlcWluDQo+IDx4dWVxaW4ubGluQGludGVsLmNvbT47IFdhbmcsIEhhaXl1ZSA8aGFp eXVlLndhbmdAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHY1IDMvOF0gbmV0L2d2 ZTogYWRkIHN1cHBvcnQgZm9yIGRldmljZSBpbml0aWFsaXphdGlvbg0KPiANCj4gT24gMTAvMjAv MjAyMiAxMDoyOSBBTSwgR3VvLCBKdW5mZW5nIHdyb3RlOg0KPiA+IENBVVRJT046IFRoaXMgbWVz c2FnZSBoYXMgb3JpZ2luYXRlZCBmcm9tIGFuIEV4dGVybmFsIFNvdXJjZS4gUGxlYXNlDQo+IHVz ZSBwcm9wZXIganVkZ21lbnQgYW5kIGNhdXRpb24gd2hlbiBvcGVuaW5nIGF0dGFjaG1lbnRzLCBj bGlja2luZw0KPiBsaW5rcywgb3IgcmVzcG9uZGluZyB0byB0aGlzIGVtYWlsLg0KPiA+DQo+ID4N Cj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogRmVycnVoIFlpZ2l0 IDxmZXJydWgueWlnaXRAYW1kLmNvbT4NCj4gPj4gU2VudDogVGh1cnNkYXksIE9jdG9iZXIgMjAs IDIwMjIgMDU6MDENCj4gPj4gVG86IExpLCBYaWFveXVuIDx4aWFveXVuLmxpQGludGVsLmNvbT47 IEd1bywgSnVuZmVuZw0KPiA+PiA8anVuZmVuZy5ndW9AaW50ZWwuY29tPjsgWmhhbmcsIFFpIFog PHFpLnouemhhbmdAaW50ZWwuY29tPjsgV3UsDQo+ID4+IEppbmdqaW5nIDxqaW5namluZy53dUBp bnRlbC5jb20+DQo+ID4+IENjOiBmZXJydWgueWlnaXRAeGlsaW54LmNvbTsgZGV2QGRwZGsub3Jn OyBhd29nYmVtaWxhQGdvb2dsZS5jb207DQo+ID4+IFJpY2hhcmRzb24sIEJydWNlIDxicnVjZS5y aWNoYXJkc29uQGludGVsLmNvbT47IExpbiwgWHVlcWluDQo+ID4+IDx4dWVxaW4ubGluQGludGVs LmNvbT47IFdhbmcsIEhhaXl1ZSA8aGFpeXVlLndhbmdAaW50ZWwuY29tPg0KPiA+PiBTdWJqZWN0 OiBSZTogW1BBVENIIHY1IDMvOF0gbmV0L2d2ZTogYWRkIHN1cHBvcnQgZm9yIGRldmljZQ0KPiBp bml0aWFsaXphdGlvbg0KPiA+Pg0KPiA+PiBPbiAxMC8xOS8yMDIyIDQ6NTkgUE0sIExpLCBYaWFv eXVuIHdyb3RlOg0KPiA+Pg0KPiA+Pj4NCj4gPj4+IEhpDQo+ID4+Pg0KPiA+Pj4+IC0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+Pj4gRnJvbTogRmVycnVoIFlpZ2l0IDxmZXJydWgueWln aXRAYW1kLmNvbT4NCj4gPj4+PiBTZW50OiBXZWRuZXNkYXksIE9jdG9iZXIgMTksIDIwMjIgMTQ6 NDYNCj4gPj4+PiBUbzogR3VvLCBKdW5mZW5nIDxqdW5mZW5nLmd1b0BpbnRlbC5jb20+OyBaaGFu ZywgUWkgWg0KPiA+Pj4+IDxxaS56LnpoYW5nQGludGVsLmNvbT47IFd1LCBKaW5namluZyA8amlu Z2ppbmcud3VAaW50ZWwuY29tPg0KPiA+Pj4+IENjOiBmZXJydWgueWlnaXRAeGlsaW54LmNvbTsg ZGV2QGRwZGsub3JnOyBMaSwgWGlhb3l1bg0KPiA+Pj4+IDx4aWFveXVuLmxpQGludGVsLmNvbT47 IGF3b2diZW1pbGFAZ29vZ2xlLmNvbTsgUmljaGFyZHNvbiwNCj4gQnJ1Y2UNCj4gPj4+PiA8YnJ1 Y2UucmljaGFyZHNvbkBpbnRlbC5jb20+OyBMaW4sIFh1ZXFpbiA8eHVlcWluLmxpbkBpbnRlbC5j b20+Ow0KPiA+PiBXYW5nLA0KPiA+Pj4+IEhhaXl1ZSA8aGFpeXVlLndhbmdAaW50ZWwuY29tPg0K PiA+Pj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjUgMy84XSBuZXQvZ3ZlOiBhZGQgc3VwcG9ydCBm b3IgZGV2aWNlDQo+ID4+IGluaXRpYWxpemF0aW9uDQo+ID4+Pj4NCj4gPj4+PiBPbiAxMC8xMC8y MDIyIDExOjE3IEFNLCBKdW5mZW5nIEd1byB3cm90ZToNCj4gPj4+Pj4NCj4gPj4+Pj4gU3VwcG9y dCBkZXZpY2UgaW5pdCBhbmQgYWRkIGZvbGxvd2luZyBkZXZvcHMgc2tlbGV0b246DQo+ID4+Pj4+ ICAgICAtIGRldl9jb25maWd1cmUNCj4gPj4+Pj4gICAgIC0gZGV2X3N0YXJ0DQo+ID4+Pj4+ICAg ICAtIGRldl9zdG9wDQo+ID4+Pj4+ICAgICAtIGRldl9jbG9zZQ0KPiA+Pj4+Pg0KPiA+Pj4+PiBO b3RlIHRoYXQgYnVpbGQgc3lzdGVtIChpbmNsdWRpbmcgZG9jKSBpcyBhbHNvIGFkZGVkIGluIHRo aXMgcGF0Y2guDQo+ID4+Pj4+DQo+ID4+Pj4+IFNpZ25lZC1vZmYtYnk6IEhhaXl1ZSBXYW5nIDxo YWl5dWUud2FuZ0BpbnRlbC5jb20+DQo+ID4+Pj4+IFNpZ25lZC1vZmYtYnk6IFhpYW95dW4gTGkg PHhpYW95dW4ubGlAaW50ZWwuY29tPg0KPiA+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBKdW5mZW5nIEd1 byA8anVuZmVuZy5ndW9AaW50ZWwuY29tPg0KPiA+Pj4+DQo+ID4+Pj4gPC4uLj4NCj4gPj4+Pg0K PiA+Pj4+PiBkaWZmIC0tZ2l0IGEvZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMl8xMS5y c3QNCj4gPj4+Pj4gYi9kb2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIyXzExLnJzdA0KPiA+ Pj4+PiBpbmRleCBmYmI1NzUyNTVmLi5jMTE2MmVhMWE0IDEwMDY0NA0KPiA+Pj4+PiAtLS0gYS9k b2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIyXzExLnJzdA0KPiA+Pj4+PiArKysgYi9kb2Mv Z3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIyXzExLnJzdA0KPiA+Pj4+PiBAQCAtMjAwLDYgKzIw MCwxMSBAQCBOZXcgRmVhdHVyZXMNCj4gPj4+Pj4gICAgICAgaW50byBzaW5nbGUgZXZlbnQgY29u dGFpbmluZyBgYHJ0ZV9ldmVudF92ZWN0b3JgYA0KPiA+Pj4+PiAgICAgICB3aG9zZSBldmVudCB0 eXBlIGlzIGBgUlRFX0VWRU5UX1RZUEVfQ1JZUFRPREVWX1ZFQ1RPUmBgLg0KPiA+Pj4+Pg0KPiA+ Pj4+PiArKiAqKkFkZGVkIEdWRSBuZXQgUE1EKioNCj4gPj4+Pj4gKw0KPiA+Pj4+PiArICAqIEFk ZGVkIHRoZSBuZXcgYGBndmVgYCBuZXQgZHJpdmVyIGZvciBHb29nbGUgVmlydHVhbCBFdGhlcm5l dA0KPiA+PiBkZXZpY2VzLg0KPiA+Pj4+PiArICAqIFNlZSB0aGUgOmRvYzpgLi4vbmljcy9ndmVg IE5JQyBndWlkZSBmb3IgbW9yZSBkZXRhaWxzIG9uIHRoaXMNCj4gbmV3DQo+ID4+IGRyaXZlci4N Cj4gPj4+Pj4gKw0KPiA+Pj4+Pg0KPiA+Pj4+DQo+ID4+Pj4gQ2FuIHlvdSBwbGVhc2UgbW92ZSB0 aGUgYmxvY2sgYW1hb25nIHRoZSBvdGhlciBldGhkZXYgZHJpdmVycywgYXMNCj4gPj4+PiBhbHBo YWJldGljYWxseSBzb3J0ZWQ/DQo+ID4+Pj4NCj4gPj4+PiA8Li4uPg0KPiA+Pj4+DQo+ID4+Pj4+ ICtzdGF0aWMgaW50DQo+ID4+Pj4+ICtndmVfZGV2X2luaXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpl dGhfZGV2KSB7DQo+ID4+Pj4+ICsgICAgICAgc3RydWN0IGd2ZV9wcml2ICpwcml2ID0gZXRoX2Rl di0+ZGF0YS0+ZGV2X3ByaXZhdGU7DQo+ID4+Pj4+ICsgICAgICAgaW50IG1heF90eF9xdWV1ZXMs IG1heF9yeF9xdWV1ZXM7DQo+ID4+Pj4+ICsgICAgICAgc3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpw Y2lfZGV2Ow0KPiA+Pj4+PiArICAgICAgIHN0cnVjdCBndmVfcmVnaXN0ZXJzICpyZWdfYmFyOw0K PiA+Pj4+PiArICAgICAgIHJ0ZV9iZTMyX3QgKmRiX2JhcjsNCj4gPj4+Pj4gKyAgICAgICBpbnQg ZXJyOw0KPiA+Pj4+PiArDQo+ID4+Pj4+ICsgICAgICAgZXRoX2Rldi0+ZGV2X29wcyA9ICZndmVf ZXRoX2Rldl9vcHM7DQo+ID4+Pj4+ICsNCj4gPj4+Pj4gKyAgICAgICBpZiAocnRlX2VhbF9wcm9j ZXNzX3R5cGUoKSAhPSBSVEVfUFJPQ19QUklNQVJZKQ0KPiA+Pj4+PiArICAgICAgICAgICAgICAg cmV0dXJuIDA7DQo+ID4+Pj4+ICsNCj4gPj4+Pj4gKyAgICAgICBwY2lfZGV2ID0gUlRFX0RFVl9U T19QQ0koZXRoX2Rldi0+ZGV2aWNlKTsNCj4gPj4+Pj4gKw0KPiA+Pj4+PiArICAgICAgIHJlZ19i YXIgPSBwY2lfZGV2LT5tZW1fcmVzb3VyY2VbR1ZFX1JFR19CQVJdLmFkZHI7DQo+ID4+Pj4+ICsg ICAgICAgaWYgKCFyZWdfYmFyKSB7DQo+ID4+Pj4+ICsgICAgICAgICAgICAgICBQTURfRFJWX0xP RyhFUlIsICJGYWlsZWQgdG8gbWFwIHBjaSBiYXIhIik7DQo+ID4+Pj4+ICsgICAgICAgICAgICAg ICByZXR1cm4gLUVOT01FTTsNCj4gPj4+Pj4gKyAgICAgICB9DQo+ID4+Pj4+ICsNCj4gPj4+Pj4g KyAgICAgICBkYl9iYXIgPSBwY2lfZGV2LT5tZW1fcmVzb3VyY2VbR1ZFX0RCX0JBUl0uYWRkcjsN Cj4gPj4+Pj4gKyAgICAgICBpZiAoIWRiX2Jhcikgew0KPiA+Pj4+PiArICAgICAgICAgICAgICAg UE1EX0RSVl9MT0coRVJSLCAiRmFpbGVkIHRvIG1hcCBkb29yYmVsbCBiYXIhIik7DQo+ID4+Pj4+ ICsgICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsNCj4gPj4+Pj4gKyAgICAgICB9DQo+ID4+ Pj4+ICsNCj4gPj4+Pj4gKyAgICAgICBndmVfd3JpdGVfdmVyc2lvbigmcmVnX2Jhci0+ZHJpdmVy X3ZlcnNpb24pOw0KPiA+Pj4+PiArICAgICAgIC8qIEdldCBtYXggcXVldWVzIHRvIGFsbG9jIGV0 aGVyZGV2ICovDQo+ID4+Pj4+ICsgICAgICAgbWF4X3R4X3F1ZXVlcyA9IGlvcmVhZDMyYmUoJnJl Z19iYXItPm1heF90eF9xdWV1ZXMpOw0KPiA+Pj4+PiArICAgICAgIG1heF9yeF9xdWV1ZXMgPSBp b3JlYWQzMmJlKCZyZWdfYmFyLT5tYXhfcnhfcXVldWVzKTsNCj4gPj4+Pj4gKw0KPiA+Pj4+PiAr ICAgICAgIHByaXYtPnJlZ19iYXIwID0gcmVnX2JhcjsNCj4gPj4+Pj4gKyAgICAgICBwcml2LT5k Yl9iYXIyID0gZGJfYmFyOw0KPiA+Pj4+PiArICAgICAgIHByaXYtPnBjaV9kZXYgPSBwY2lfZGV2 Ow0KPiA+Pj4+PiArICAgICAgIHByaXYtPnN0YXRlX2ZsYWdzID0gMHgwOw0KPiA+Pj4+PiArDQo+ ID4+Pj4+ICsgICAgICAgcHJpdi0+bWF4X25iX3R4cSA9IG1heF90eF9xdWV1ZXM7DQo+ID4+Pj4+ ICsgICAgICAgcHJpdi0+bWF4X25iX3J4cSA9IG1heF9yeF9xdWV1ZXM7DQo+ID4+Pj4+ICsNCj4g Pj4+Pj4gKyAgICAgICBlcnIgPSBndmVfaW5pdF9wcml2KHByaXYsIGZhbHNlKTsNCj4gPj4+Pj4g KyAgICAgICBpZiAoZXJyKQ0KPiA+Pj4+PiArICAgICAgICAgICAgICAgcmV0dXJuIGVycjsNCj4g Pj4+Pj4gKw0KPiA+Pj4+PiArICAgICAgIGV0aF9kZXYtPmRhdGEtPm1hY19hZGRycyA9IHJ0ZV96 bWFsbG9jKCJndmVfbWFjIiwNCj4gPj4gc2l6ZW9mKHN0cnVjdA0KPiA+Pj4+IHJ0ZV9ldGhlcl9h ZGRyKSwgMCk7DQo+ID4+Pj4+ICsgICAgICAgaWYgKCFldGhfZGV2LT5kYXRhLT5tYWNfYWRkcnMp IHsNCj4gPj4+Pj4gKyAgICAgICAgICAgICAgIFBNRF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBh bGxvY2F0ZSBtZW1vcnkgdG8gc3RvcmUNCj4gPj4gbWFjDQo+ID4+Pj4gYWRkcmVzcyIpOw0KPiA+ Pj4+PiArICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07DQo+ID4+Pj4+ICsgICAgICAgfQ0K PiA+Pj4+PiArICAgICAgIHJ0ZV9ldGhlcl9hZGRyX2NvcHkoJnByaXYtPmRldl9hZGRyLA0KPiA+ Pj4+PiArIGV0aF9kZXYtPmRhdGEtPm1hY19hZGRycyk7DQo+ID4+Pj4+ICsNCj4gPj4+Pg0KPiA+ Pj4+IElzIGFueXRoaW5nIGFzc2luZ2VkIHRvICdwcml2LT5kZXZfYWRkcicgdG8gY29weT8NCj4g Pj4+PiBBbHNvIHNpbmNlIHRoZXJlIGlzIGEgJ3ByaXYtPmRldl9hZGRyJyBmaWVsZCwgd2h5IG5v dCB1c2UgaXQgZGlyZWN0bHksDQo+ID4+IGluc3RlYWQgb2YNCj4gPj4+PiBhbGxvY2F0aW5nIG1l bW9yeSBmb3IgJ2V0aF9kZXYtPmRhdGEtPm1hY19hZGRycyc/DQo+ID4+Pj4gSSBtZWFuIHdoeSBu b3QgImV0aF9kZXYtPmRhdGEtPm1hY19hZGRycyA9ICZwcml2LT5kZXZfYWRkciI/DQo+ID4+Pg0K PiA+Pj4gTWFrZXMgc2Vuc2UuIFRoZXJlJ3Mgbm8gbmVlZCB0byBhbGxvY2F0ZSBhIG5ldyBtZW1v cnkuIEBHdW8sDQo+ID4+IEp1bmZlbmcgQ2FuIHlvdSB1cGRhdGUgdGhpcz8NCj4gPg0KPiA+IFRo YW5rcyBYaWFveXVuIGFuZCBGZXJydWggZm9yIHRoZSBjb21tZW50cyENCj4gPiBJIHRyaWVkIHRv IHVwZGF0ZSB0aGUgY29kZSBhcyBzdWdnZXN0ZWQgYnV0IG1heSBnZXQgIkludmFsaWQgTWVtb3J5 Ig0KPiA+IHdhcm5pbmcgd2hlbiBxdWl0IHRoZSB0ZXN0cG1kLiBJIGZvdW5kIGl0IHdhcyBjYXVz ZWQgYXQgdGhlIGZ1bmN0aW9uDQo+ID4gcnRlX2V0aF9kZXZfcmVsZWFzZV9wb3J0IHdpdGggIiBy dGVfZnJlZShldGhfZGV2LT5kYXRhLT5tYWNfYWRkcnMpOw0KPiAiLg0KPiA+IFNlZW1zIHRoYXQg YWxsb2NhdGluZyBtZW1vcnkgZm9yICdldGhfZGV2LT5kYXRhLT5tYWNfYWRkcnMnIGlzIHN0aWxs DQo+ID4gbmVlZGVkLiBQbGVhc2UgaGVscCBjb3JyZWN0IG1lIGlmIEkgbWlzdW5kZXJzdG9vZCB0 aGlzLiBUaGFua3MhIEknbGwga2VlcA0KPiA+IHRoaXMgcGFydCB1bmNoYW5nZWQgZm9yIHRoZSBj b21pbmcgcGF0Y2hzZXQgZmlyc3QuDQo+ID4NCj4gDQo+IE5vIGl0IGlzIG5vdCBuZWVkZWQsIHlv dSBuZWVkIHRvIHNldCBwb2ludGVyIHRvIE5VTEwgb24gcmVsZWFzZSBwYXRoIHRvDQo+IHByZXZl bnQgY29tbW9uIGNvZGUgZnJlZSBpdCAodGhlIHByb2JsZW0geW91IGFyZSBnZXR0aW5nKS4gVGhl cmUgYXJlDQo+IHNhbXBsZXMgaW4gdmFyaW91cyBQTURzLCBwbGVhc2UgY2hlY2suDQoNClllcywg bWFrZSBzZW5zZSENCkknbGwgZG91YmxlIGNoZWNrIGZvciB0aGlzIGFuZCB1cGRhdGUgaW4gdGhl IGNvbWluZyB2ZXJzaW9uLiBUaGFua3MhDQoNCj4gDQo+ID4+Pj4NCj4gPj4+PiA8Li4uPg0KPiA+ Pj4+DQo+ID4+Pj4+ICtzdHJ1Y3QgZ3ZlX3ByaXYgew0KPiA+Pj4+PiArICAgICAgIHN0cnVjdCBn dmVfaXJxX2RiICppcnFfZGJzOyAvKiBhcnJheSBvZiBudW1fbnRmeV9ibGtzICovDQo+ID4+Pj4+ ICsgICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9tZW16b25lICppcnFfZGJzX216Ow0KPiA+Pj4+PiAr ICAgICAgIHVpbnQzMl90IG1nbXRfbXNpeF9pZHg7DQo+ID4+Pj4+ICsgICAgICAgcnRlX2JlMzJf dCAqY250X2FycmF5OyAvKiBhcnJheSBvZiBudW1fZXZlbnRfY291bnRlcnMgKi8NCj4gPj4+Pj4g KyAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX21lbXpvbmUgKmNudF9hcnJheV9tejsNCj4gPj4+Pj4g Kw0KPiA+Pj4+PiArICAgICAgIHVpbnQxNl90IG51bV9ldmVudF9jb3VudGVyczsNCj4gPj4+Pj4g KyAgICAgICB1aW50MTZfdCB0eF9kZXNjX2NudDsgLyogdHhxIHNpemUgKi8NCj4gPj4+Pj4gKyAg ICAgICB1aW50MTZfdCByeF9kZXNjX2NudDsgLyogcnhxIHNpemUgKi8NCj4gPj4+Pj4gKyAgICAg ICB1aW50MTZfdCB0eF9wYWdlc19wZXJfcXBsOyAvKiB0eCBidWZmZXIgbGVuZ3RoICovDQo+ID4+ Pj4+ICsgICAgICAgdWludDE2X3QgcnhfZGF0YV9zbG90X2NudDsgLyogcnggYnVmZmVyIGxlbmd0 aCAqLw0KPiA+Pj4+DQo+ID4+Pj4gVGhlc2UgZmllbGRzIGFyZSBub3QgdXNlZCBpbiB0aGlzIHBh dGNoLCBJIGd1ZXNzIHNvbWUgd2lsbCBiZSB1c2VkIGluDQo+ID4+IGRhdGFwYXRoDQo+ID4+Pj4g cGF0Y2guDQo+ID4+Pg0KPiA+Pj4gVGhpcyBpcyBuZWVkZWQgZm9yIGJhc2UgY29kZSBndmVfYWRt aW5xLmMgbm90IGZvciBkYXRhcGF0aC4gTW9zdCBvZg0KPiA+PiB0aGUgc3R1ZmYgaW4gZ3ZlX3By aXYgaXMgZm9yIGd2ZV9hZG1pbnEuYy4NCj4gPj4+IFRoZSBhZG1pbnEgd2lsbCB1cGRhdGUgdGhp cyBpbmZvIHdoaWNoIGRwZGsgcG1kIHdpbGwgbmVlZCBsYXRlci4NCj4gPj4gQ29tcGlsZXIgd2ls bCBjb21wbGFpbiBpZiB0aGVzZSBkb24ndCBleHNpdC4NCj4gPj4+DQo+ID4+DQo+ID4+IFlvdSBh cmUgcmlnaHQgdGhleSBhcmUgdXNlZCBieSAnZ3ZlX2FkbWlucS5jJywgc28gT0sgdG8ga2VlcCB0 aGVtLCBpZg0KPiA+PiB0aGVyZSBhcmUgb25lcyBub3QgdXNlZCBhdCB0aGlzIHN0YWdlLCBjYW4g eW91IGFkZCB0aGVtIHdoZW5ldmVyIHRoZXkNCj4gPj4gYXJlIHVzZWQsIG9yIHJlbW92ZSB0aGVt IGlmIG5vdCB1c2VkIGF0IGFsbC4gSWYgYWxsIHVzZWQvcmVxdWlyZWQsIG5vDQo+ID4+IGNoYW5n ZSByZXF1aXJlZC4NCj4gPg0KPiA+IFllcywgd2UgaGF2ZSBhbHJlYWR5IHRyaWVkIHRvIG1vdmUg YWxsIHRoZSB1bnVzZWQgaXRlbXMgdG8gdGhlDQo+IGNvcnJlc3BvbmRpbmcNCj4gPiBzdGFnZXMg cGF0Y2ggYnkgcGF0Y2guIFRoYW5rcyBmb3IgcmVtaW5kaW5nIHRoaXMhDQo+ID4NCj4gDQo+IHRo YW5rcy4NCj4gDQo+ID4+DQo+ID4+Pj4NCj4gPj4+PiBDYW4geW91IHBsZWFzZSBvbmx5IGFkZCBm aWVsZHMgdGhhdCBpcyB1c2VkIGluIHRoZSBwYXRjaD8gVGhpcyB3YXkgaXQNCj4gd2lsbA0KPiA+ PiBiZQ0KPiA+Pj4+IGNsZWFyIGluIHdoaWNoIGZ1bmN0aW9uYWxpdHkgdGhhdCBmaWVsZCBpcyB1 c2VkIGFuZCBlbmFibGUgdG8gZGV0ZWN0DQo+IG5vdA0KPiA+PiB1c2VkDQo+ID4+Pj4gZmllbGRz Lg0KPiA+Pj4+IFdlIGFyZSBhY2NlcHRpbmcgYmF0Y2ggdXBkYXRlcyBmb3IgYmFzZSBjb2RlLCBi dXQgdGhpcyBpcyBkcGRrDQo+IHJlbGF0ZWQNCj4gPj4gY29kZSwNCj4gPj4+PiBsZXRzIG9ubHkg YWRkIHRoaW5ncyB0aGF0IGFyZSB1c2VkIHdoZW4gdGhleSBhcmUgdXNlZC4NCj4gPj4+PiBTYW1l IGZvciBhbGwgZGF0YSBzdHJ1Y3R1cmVzLg0KPiA+Pj4+DQo+ID4+Pj4gPC4uLj4NCj4gPj4+Pg0K PiA+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZ3ZlL3ZlcnNpb24ubWFwDQo+ID4+IGIv ZHJpdmVycy9uZXQvZ3ZlL3ZlcnNpb24ubWFwDQo+ID4+Pj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 IGluZGV4IDAwMDAwMDAwMDAuLmMyZTA3MjNiNGMNCj4gPj4+Pj4gLS0tIC9kZXYvbnVsbA0KPiA+ Pj4+PiArKysgYi9kcml2ZXJzL25ldC9ndmUvdmVyc2lvbi5tYXANCj4gPj4+Pj4gQEAgLTAsMCAr MSwzIEBADQo+ID4+Pj4+ICtEUERLXzIyIHsNCj4gPj4+Pg0KPiA+Pj4+IERQREtfMjMNCj4gPg0K DQo=