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 27337A0C4D; Mon, 6 Sep 2021 05:02:22 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0BB3340E32; Mon, 6 Sep 2021 05:02:22 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id DA96240C35 for ; Mon, 6 Sep 2021 05:02:20 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10098"; a="216711138" X-IronPort-AV: E=Sophos;i="5.85,271,1624345200"; d="scan'208";a="216711138" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Sep 2021 20:02:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,271,1624345200"; d="scan'208";a="536361296" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by FMSMGA003.fm.intel.com with ESMTP; 05 Sep 2021 20:02:19 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Sun, 5 Sep 2021 20:02:19 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Sun, 5 Sep 2021 20:02:19 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.42) 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.2242.10; Sun, 5 Sep 2021 20:02:19 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nGNLfhfe7GbpbYi/IKTnqqu2r6BQzr1iTSD7go1S5sGF8gP5jf7SpHmsdbgtlTSAzWoNoNO74O774wR9mIO2pJQ0TEBPmOWSjBclyaD5SePwZCiLIoXI+L1llkVhUsRpsCxkJDFJVKtAkSVSfNd0/E6xSWIyjuVnC1dr0Jb3b60pceVAVb/r3/SAbQPWcPeit7uCnHlR8aCk2DagQya/FEj5th91brKE8VvZ5igf9cuaW8ZtsB2a+IsJExEnq0DJIUhWZfKvW1rOeXDE7IzLS4DzVSOnjZQUrf3y73LoRYwtb25jOjXTF+geE7MjwYtMfozwjS5SiMfVygOGIhOqYg== 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; bh=Vb7HOBo7plTBTUBIP4yuGT0E1686cXhgHR1V2R14mq4=; b=NFaf7gWNbAKdLN4CYLn/Viwhnlanz95CRhrD2rlFjB+U6NtCLC8iSmfMs47FP17fU6/UuMYm8MgTp4R02RwEjFgL3gE7ZwgC0XO8glBk61PoLUqLkic+hrLFFyoW1sIjdxVkFBiUF+XqzU8hCNDZkB3lUEzEfF0a9yKAX18wsByCXTOJt01t2eA7KohQq4IaT8xeozf5wBVKnVkh92904Q1iXM3nUSWA8KrFiO3wz3SbVG4VUgKglVo9KKGmqIqQ42JRxklfHveHlLgYmLVLrUv8PfvWyZoQ/GDVrzF9cuENgTX0vUW9Z5IJ3DXWN6iZbk39uyDmHvpi8yWFDQN69A== 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=Vb7HOBo7plTBTUBIP4yuGT0E1686cXhgHR1V2R14mq4=; b=dX6QSHVxJyCvWyhJn2fFwjeWtOxeHZorm+WqBlwDle3g7NBpF9zF9cEAF414jBtASAsMwHfi1YCdYEOSVqG4PAH2xn+G6OX6UzIIIbpHRnG8JSrWMOKHryeMeVTaG0VkWMBbbG4W9z9XBg6goSr+mh6LQKShbV536si8PPdRv/0= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3600.namprd11.prod.outlook.com (2603:10b6:208:fa::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.22; Mon, 6 Sep 2021 03:02:16 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::6873:dced:7f68:801]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::6873:dced:7f68:801%3]) with mapi id 15.20.4478.025; Mon, 6 Sep 2021 03:02:16 +0000 From: "Xia, Chenbo" To: Vijay Kumar Srivastava , "dev@dpdk.org" CC: "maxime.coquelin@redhat.com" , "andrew.rybchenko@oktetlabs.ru" , "Harpreet Singh Anand" , Praveen Kumar Jain Thread-Topic: [PATCH 02/10] vdpa/sfc: add support for device initialization Thread-Index: AQHXcoboEtbgz9b9Sk+eSx58SUz/IauF/WnggAyqQQCAA/6JAA== Date: Mon, 6 Sep 2021 03:02:16 +0000 Message-ID: References: <20210706164418.32615-1-vsrivast@xilinx.com> <20210706164418.32615-3-vsrivast@xilinx.com> In-Reply-To: Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: xilinx.com; dkim=none (message not signed) header.d=none;xilinx.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 86e75de3-7c5b-48cf-3afd-08d970e2bbf5 x-ms-traffictypediagnostic: MN2PR11MB3600: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: /0DfxEo4H/rUPl4pP5hjrYpVlniabW6iBcksuOyBcj4UrEVMuLNKBAoezaL536G7I3yrX/n7pGCLtfMN1ZPhH5GFdoxhNrxXET7TPbEAgobLBhn+f/iorbW4Np1mCu4OC4VswmhlsW1YDLRJSGqXzMhNrl+n8HUqYxD7wm9LnzVZajXVOsLtKanWEbyd7pq6bVknL2vNj4QjZhq234ifXJlbFH8jVt63rBEBtqmwZ3OVxcoR07u17axD+688qs4hVCo4hhdDUCvOh+JxPWkIkk3l12jdIZ3zFDnF2jlre+uxpaeqxe4Yd1QnOE5fA1Mr2qAYHo48FuHSvRdrg8oUC+G8EFgX866ExuK8GpFdaDehTQJwfm6Lm93AiUkrqwggfaXQg2CghZpKjZCVQonG41U15pKMzQo+nCkrIdJa1rJrJ05IFThldC+UA+dvzp6ApWE/VhChwbG35OoZDOMPcaxfgh85PEiZo64iwxOvUo9bOUl5M3b6WuDkEe72f2rREAa6eshhPQLa6QLDpAeDXilN6Rl0jsHwAnoyGBf6IxJw08Aq7dQhk3bZXs5trSzpUNCK4WcuYF8LTT5a+MWmfREaX0VrpBDK65bOTXjUn81HpWeg6A7LFeFE7BAHXOrgxbWLUoEGMkuFW8ZNZQpOcxnWJf68SplpiuHA+JegfgLJzUP7hLDPYjI585qSz9V+JNN9hQfyatFGz77su/1clw== 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)(376002)(136003)(39860400002)(346002)(366004)(396003)(4326008)(38100700002)(83380400001)(186003)(26005)(52536014)(5660300002)(33656002)(9686003)(71200400001)(55016002)(38070700005)(8676002)(53546011)(6506007)(7696005)(66446008)(66476007)(64756008)(66556008)(110136005)(66946007)(8936002)(54906003)(76116006)(2906002)(316002)(122000001)(86362001)(478600001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?V2x6R2JvQTRpYVp3WXFyWFF4RUpwTGhRNDBpd2dySmxSTVY5b0VLRi82ZmE1?= =?utf-8?B?cWtqZ210dmtaUmkzL2NUMm5sSGpGZ2lsdWZoa1RWblMwNWpLaXY3TmNwb1hu?= =?utf-8?B?b2lid2hNdnl3dVZSdktXTXh0cFErTzNJVVBLRUhDL3ZENi9paDVTNXl6WTJ1?= =?utf-8?B?SzRzMEM5NDNpcEpTanJUUlhleDFYNERNWEg5ZGlYOXdkQjZ6WXBvUldRZHpK?= =?utf-8?B?b3VvV1VoWU9mUDFrL2xYWFNiSEJwWG41MjY2Z3h1TlN2SVZSbkNwaE1DT09o?= =?utf-8?B?em54VHFTMk9hdHFMNEl4NGVHWTdiN1J3V2xhYUcxbkprUHF5dTZpbVpIQWkw?= =?utf-8?B?THRCU3h6YVdJZkd5ZkFwcjJpbzdZTWJia1JmRUFLZGdFMTNBdXFyOVZrTHhl?= =?utf-8?B?eGJPUXU5RDlzcC9nSzBSMDNEcTBtaEc2Z2pRTkxvdm5Xb1lUdEVHNGdPdGVD?= =?utf-8?B?cS9wOG1oaFpyR3NuTnNybHAxV2ZJUEJERWw3T3Jlc3d2N2VVdGQzVnUrL2c2?= =?utf-8?B?cGdMQnhKc3Awdm9KaVpReC9CL3BEbU1tRGVXVS9uMDRObDlzTXVLcURxWTB4?= =?utf-8?B?OFpKa0VmVXZhSFliTnA5cm5IUlZEYlFrSVM4S2hOcUhxc2VRSUs1aWVvSG1E?= =?utf-8?B?R1VKUzZmT3MvdEE5V1piZ05FZW5Md2E0NTdUWENpYllrTlFHeGFLLzYvQi91?= =?utf-8?B?TzgyOTBvQjAvcmltUi9jamFjaURJL3BKZERjUVlpOVYzdnRsK0U1UGJ6VnhP?= =?utf-8?B?M2pUcnV6cEJYdDkwSUNVYmpYd2h3YVZZRnlteHI0UjZENnppVkpkMFovbFov?= =?utf-8?B?azlNNlhtNGQ2dUYzSjNIL1ZRUENiTkFpalcrNDduTDZhK05IOHovaktyRzRC?= =?utf-8?B?SndSRVo4cm1NY2tVUGZMcS9kcThZcm9iRjdxSm9sbmZCUnVIYUR4aFd5Y0dj?= =?utf-8?B?MWRzL0huZWVVbExMN1Jwa28wQ3lBcWxLRlBCYjY3VWJYdUZtRU11YVk1MS96?= =?utf-8?B?QlZXem9NVUxIZ3J1WFVvTEc0c1haOVRLUTY0eFdqbnBqT2Y0dmlBWCt2VlFz?= =?utf-8?B?bk9KU3l0ZDI4UERVTi94N2pwUXd5YnZ1Y210VkJUcy84ODhMOVJpUlJZT1pl?= =?utf-8?B?S3NaTlVBVnNJL1FhYzQ0bFo3ZStyeitwTzN2Q3NLV3NKaTNKVTJMYk9iZW5N?= =?utf-8?B?b1VaSWcwWGhDTEhlQ0F2czdkM29KQTM4U3dWM1dGTVBORnZ3Y1FkMUcvR2I0?= =?utf-8?B?SjQ3c0YwY1R1N0xGWm5DaExNMFlldUVGdGhzK1A5MjZkVTIxbUk3dVpUSzF3?= =?utf-8?B?RFM5MkhtWk96d0FqQW1nVFJvUVpSdGVKZ0owUU1xWExIdnlua1ZVQVJoMzda?= =?utf-8?B?cC91amV3QXpaS3NJemdya2F3cXc0T1hpODluelV1QmRQTS9mTVNTODhMek9X?= =?utf-8?B?MkIrNTlUTXFudmhLcFdGMk5BY1hoRFZDQWdwbzZQWktoTlcwS0crd0lDek9a?= =?utf-8?B?cDFxeW9JV0lDejlzR2NXS1NWOGNLaFZiVEtXTFJPZW9rYlFRdktCdFdPdmNX?= =?utf-8?B?RHlBUHVPRG5JelVLeTU3bUpuWmczbmpyOTVHUk9uSURuRllGYnpmZkxLWmlw?= =?utf-8?B?UFF5OS9MMkZtVW5kdzhMR0pFVXBLVUwwRUVURmZIRC9PV1lpWFdtNmlVUS9B?= =?utf-8?B?TkpFZEFzTUxjT2Y0RnU3NkpmOTNqYjM1NWxTaU5zRzZkK3RYUmhVR3NBTFVV?= =?utf-8?Q?xNswXiPUqPKK8jGLhE=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: 86e75de3-7c5b-48cf-3afd-08d970e2bbf5 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Sep 2021 03:02:16.6847 (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: 0Rp251gQwRZIT7h+ydyUNMd9OCs4mq8IvFOKD/ZmPwG4fO/Wu8XbrKALD354KcFB79UEtlIkguilfwtMO/EFIA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3600 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH 02/10] vdpa/sfc: add support for device initialization 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" SGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogVmlqYXkgS3VtYXIg U3JpdmFzdGF2YSA8dnNyaXZhc3RAeGlsaW54LmNvbT4NCj4gU2VudDogRnJpZGF5LCBTZXB0ZW1i ZXIgMywgMjAyMSA5OjIwIFBNDQo+IFRvOiBYaWEsIENoZW5ibyA8Y2hlbmJvLnhpYUBpbnRlbC5j b20+OyBkZXZAZHBkay5vcmcNCj4gQ2M6IG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tOyBhbmRy ZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydTsgSGFycHJlZXQgU2luZ2gNCj4gQW5hbmQgPGhhbmFu ZEB4aWxpbnguY29tPjsgUHJhdmVlbiBLdW1hciBKYWluIDxwcmF2ZWVuakB4aWxpbnguY29tPg0K PiBTdWJqZWN0OiBSRTogW1BBVENIIDAyLzEwXSB2ZHBhL3NmYzogYWRkIHN1cHBvcnQgZm9yIGRl dmljZSBpbml0aWFsaXphdGlvbg0KPiANCj4gDQo+IEhpIENoZW5ibywNCj4gDQo+ID4tLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+RnJvbTogWGlhLCBDaGVuYm8gPGNoZW5iby54aWFAaW50 ZWwuY29tPg0KPiA+U2VudDogTW9uZGF5LCBBdWd1c3QgMzAsIDIwMjEgNDoyMiBQTQ0KPiA+VG86 IFZpamF5IEt1bWFyIFNyaXZhc3RhdmEgPHZzcml2YXN0QHhpbGlueC5jb20+OyBkZXZAZHBkay5v cmcNCj4gPkNjOiBtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbTsgYW5kcmV3LnJ5YmNoZW5rb0Bv a3RldGxhYnMucnU7IFZpamF5DQo+ID5LdW1hciBTcml2YXN0YXZhIDx2c3JpdmFzdEB4aWxpbngu Y29tPg0KPiA+U3ViamVjdDogUkU6IFtQQVRDSCAwMi8xMF0gdmRwYS9zZmM6IGFkZCBzdXBwb3J0 IGZvciBkZXZpY2UgaW5pdGlhbGl6YXRpb24NCj4gPg0KPiA+SGkgVmlqYXksDQo+ID4NCj4gPj4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogVmlqYXkgU3JpdmFzdGF2YSA8 dmlqYXkuc3JpdmFzdGF2YUB4aWxpbnguY29tPg0KPiA+PiBTZW50OiBXZWRuZXNkYXksIEp1bHkg NywgMjAyMSAxMjo0NCBBTQ0KPiA+PiBUbzogZGV2QGRwZGsub3JnDQo+ID4+IENjOiBtYXhpbWUu Y29xdWVsaW5AcmVkaGF0LmNvbTsgWGlhLCBDaGVuYm8gPGNoZW5iby54aWFAaW50ZWwuY29tPjsN Cj4gPj4gYW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU7IFZpamF5IEt1bWFyIFNyaXZhc3Rh dmENCj4gPj4gPHZzcml2YXN0QHhpbGlueC5jb20+DQo+ID4+IFN1YmplY3Q6IFtQQVRDSCAwMi8x MF0gdmRwYS9zZmM6IGFkZCBzdXBwb3J0IGZvciBkZXZpY2UgaW5pdGlhbGl6YXRpb24NCj4gPj4N Cj4gPj4gRnJvbTogVmlqYXkgS3VtYXIgU3JpdmFzdGF2YSA8dnNyaXZhc3RAeGlsaW54LmNvbT4N Cj4gPj4NCj4gPj4gQWRkIEhXIGluaXRpYWxpemF0aW9uIGFuZCB2RFBBIGRldmljZSByZWdpc3Ry YXRpb24gc3VwcG9ydC4NCj4gPj4NCj4gPj4gU2lnbmVkLW9mZi1ieTogVmlqYXkgS3VtYXIgU3Jp dmFzdGF2YSA8dnNyaXZhc3RAeGlsaW54LmNvbT4NCj4gPj4gLS0tDQo+IA0KPiBbc25pcF0NCj4g DQo+ID4+ICtzZmNfdmRwYV9kbWFfYWxsb2Moc3RydWN0IHNmY192ZHBhX2FkYXB0ZXIgKnN2YSwg Y29uc3QgY2hhciAqbmFtZSwNCj4gPj4gKwkJICAgc2l6ZV90IGxlbiwgZWZzeXNfbWVtX3QgKmVz bXApDQo+ID4+ICt7DQo+ID4+ICsJdm9pZCAqbWNkaV9idWY7DQo+ID4+ICsJdWludDY0X3QgbWNk aV9pb3ZhOw0KPiA+PiArCXNpemVfdCBtY2RpX2J1ZmZfc2l6ZTsNCj4gPj4gKwlpbnQgcmV0Ow0K PiA+PiArDQo+ID4+ICsJbWNkaV9idWZmX3NpemUgPSBSVEVfQUxJR05fQ0VJTChsZW4sIFBBR0Vf U0laRSk7DQo+ID4+ICsNCj4gPj4gKwlzZmNfdmRwYV9sb2dfaW5pdChzdmEsICJuYW1lPSVzLCBs ZW49JXp1IiwgbmFtZSwgbGVuKTsNCj4gPj4gKw0KPiA+PiArCW1jZGlfYnVmID0gcnRlX3ptYWxs b2MobmFtZSwgbWNkaV9idWZmX3NpemUsIFBBR0VfU0laRSk7DQo+ID4+ICsJaWYgKG1jZGlfYnVm ID09IE5VTEwpIHsNCj4gPj4gKwkJc2ZjX3ZkcGFfZXJyKHN2YSwgImNhbm5vdCByZXNlcnZlIG1l bW9yeSBmb3IgJXM6IGxlbj0lI3g6DQo+ID4lcyIsDQo+ID4+ICsJCQkgICAgIG5hbWUsICh1bnNp Z25lZCBpbnQpbGVuLCBydGVfc3RyZXJyb3IocnRlX2Vycm5vKSk7DQo+ID4+ICsJCXJldHVybiAt RU5PTUVNOw0KPiA+PiArCX0NCj4gPj4gKw0KPiA+PiArCS8qIElPVkEgYWRkcmVzcyBmb3IgTUNE SSB3b3VsZCBiZSByZS1jYWxjdWxhdGVkIGlmIG1hcHBpbmcNCj4gPg0KPiA+V2hhdCBpcyBNQ0RJ Pw0KPiANCj4gTUNESSBpcyBhIGNvbnRyb2wgaW50ZXJmYWNlIGJldHdlZW4gZHJpdmVyIGFuZCBm aXJtd2FyZS4NCj4gSXQgaXMgdXNlZCBieSB0aGUgaG9zdCBkcml2ZXJzIHRvIGNvbmZpZ3VyZSB0 aGUgYWRhcHRlciBhbmQgcmV0cmlldmUgc3RhdHVzLg0KDQpDb29sLCB0aGFua3MgZm9yIGV4cGxh bmF0aW9uLg0KDQo+IA0KPiA+PiArCSAqIHVzaW5nIGRlZmF1bHQgSU9WQSB3b3VsZCBmYWlsLg0K PiA+PiArCSAqIFRPRE86IEVhcmxpZXIgdGhlcmUgd2FzIG5vIHdheSB0byBnZXQgdmFsaWQgSU9W QSByYW5nZS4NCj4gPj4gKwkgKiBSZWNlbnRseSBhIHBhdGNoIGhhcyBiZWVuIHN1Ym1pdHRlZCB0 byBnZXQgdGhlIElPVkEgcmFuZ2UNCj4gPj4gKwkgKiB1c2luZyBpb2N0bC4gVkZJT19JT01NVV9H RVRfSU5GTy4gVGhpcyBwYXRjaCBpcyBhdmFpbGFibGUNCj4gPj4gKwkgKiBpbiB0aGUga2VybmVs IHZlcnNpb24gPj0gNS40LiBTdXBwb3J0IHRvIGdldCB0aGUgZGVmYXVsdA0KPiA+PiArCSAqIElP VkEgYWRkcmVzcyBmb3IgTUNESSBidWZmZXIgdXNpbmcgYXZhaWxhYmxlIElPVkEgcmFuZ2UNCj4g Pj4gKwkgKiB3b3VsZCBiZSBhZGRlZCBsYXRlci4gTWVhbndoaWxlIGRlZmF1bHQgSU9WQSBmb3Ig TUNESSBidWZmZXINCj4gPj4gKwkgKiBpcyBrZXB0IGF0IGhpZ2ggbWVtIGF0IDJUQi4gSW4gY2Fz ZSBvZiBvdmVybGFwIG5ldyBhdmFpbGFibGUNCj4gPj4gKwkgKiBhZGRyZXNzZXMgd291bGQgYmUg c2VhcmNoZWQgYW5kIHNhbWUgd291bGQgYmUgdXNlZC4NCj4gPj4gKwkgKi8NCj4gPj4gKwltY2Rp X2lvdmEgPSBTRkNfVkRQQV9ERUZBVUxUX01DRElfSU9WQTsNCj4gPj4gKw0KPiA+PiArCWRvIHsN Cj4gPj4gKwkJcmV0ID0gcnRlX3ZmaW9fY29udGFpbmVyX2RtYV9tYXAoc3ZhLT52ZmlvX2NvbnRh aW5lcl9mZCwNCj4gPj4gKwkJCQkJCSAodWludDY0X3QpbWNkaV9idWYsDQo+ID5tY2RpX2lvdmEs DQo+ID4+ICsJCQkJCQkgbWNkaV9idWZmX3NpemUpOw0KPiA+PiArCQlpZiAocmV0ID09IDApDQo+ ID4+ICsJCQlicmVhazsNCj4gPj4gKw0KPiA+PiArCQltY2RpX2lvdmEgPSBtY2RpX2lvdmEgPj4g MTsNCj4gPj4gKwkJaWYgKG1jZGlfaW92YSA8IG1jZGlfYnVmZl9zaXplKQl7DQo+ID4+ICsJCQlz ZmNfdmRwYV9lcnIoc3ZhLA0KPiA+PiArCQkJCSAgICAgIkRNQSBtYXBwaW5nIGZhaWxlZCBmb3Ig TUNESSA6ICVzIiwNCj4gPj4gKwkJCQkgICAgIHJ0ZV9zdHJlcnJvcihydGVfZXJybm8pKTsNCj4g Pj4gKwkJCXJldHVybiByZXQ7DQo+ID4+ICsJCX0NCj4gPj4gKw0KPiA+PiArCX0gd2hpbGUgKHJl dCA8IDApOw0KPiA+DQo+ID5JcyB0aGlzIERNQSByZWdpb24gZm9yIHNvbWUgaGFyZHdhcmUtc3Bl Y2lmaWMgY29udHJvbCBtc2c/DQo+ID4NCj4gPkFuZCBob3cgZG8geW91IG1ha2Ugc3VyZSB0aGlz IElPVkEgc3BhY2UgeW91IGRlZmluZWQgaW4gdGhpcyBkcml2ZXIgd2lsbCBub3QNCj4gPmNvbmZs aWN0IHdpdGggdGhlIElPVkEgc3BhY2UgdGhhdCB2ZHBhIGRldmljZSBjb25zdW1lciAoTW9zdCBs aWtlbHkgUUVNVSkNCj4gPmRlZmluZXMgKElmIFFFTVUsIElPVkEgPSBndWVzdCBwaHlzaWNhbCBh ZGRyZXNzKQ0KPiANCj4gQ3VycmVudGx5IElPVkEgZm9yIE1DREkgYnVmZmVyIGlzIGtlcHQgYXQg dmVyeSBoaWdoIG1lbSBhdCAyVEIuDQoNCk9LLiBUaGF0IHNvdW5kcyBhIHdvcmstYXJvdW5kIHRv IG1lIGJ1dCB3ZSBjYW4ndCBtYWtlIGFzc3VtcHRpb24gb2YgY29uc3VtZXIgbm90DQp1c2luZyB0 aGF0IGFkZHJlc3MgcmFuZ2UuIEFuZCB0aGVyZSBpcyBhIHNlY3VyaXR5IGlzc3VlIGhlcmUsIHBs ZWFzZSBzZWUgYmVsb3cNCmNvbW1lbnQuDQoNCj4gDQo+IFRvIGhhbmRsZSBJT1ZBIG92ZXJsYXAg ZGV0ZWN0aW9uIHNjZW5hcmlvIGEgcGF0Y2ggaXMgaW4gcHJvZ3Jlc3Mgd2hpY2ggd2lsbCBiZQ0K PiBzdWJtaXR0ZWQgc29vbi4NCj4gSW4gdGhhdCBwYXRjaCwgdXBvbiBJT1ZBIG92ZXJsYXAgZGV0 ZWN0aW9uIG5ldyBhdmFpbGFibGUgSU9WQSB3b3VsZCBiZQ0KPiBjYWxjdWxhdGVkIGFuZCBNQ0RJ IGJ1ZmZlciB3b3VsZCBiZSByZW1hcHBlZCB0byBuZXcgSU9WQS4NCg0KTGV0J3Mgc2F5IHRoZXJl IGlzIGEgbWFsaWNpb3VzIGd1ZXN0IHdobyBrbm93cyB5b3VyIGluaXRpYWwgSU9WQSByYW5nZSB0 aGF0IGlzIHNldA0KdXAgYnkgeW91ciBkcml2ZXIgKGV2ZW4gaWYgaXQgZG9lcyBub3Qga25vdywg aXQgY2FuIHVzZSB0ZXN0cyB0byBrbm93LiBTbyB1c2Ugc3RhdGljDQpJT1ZBIHJhbmdlIGluIGhv c3QgaXMgbW9yZSBkYW5nZXJvdXMpLiBJdCBjYW4gdXNlIHRoYXQgYWRkcmVzcyBpbiBhbnkgRE1B LWFibGUgcXVldWUNCmFuZCBtYWtlIERNQSBpbnRvIHRoZSB2ZHBhIGFwcC4gSSB0aGluayBpdCBj b3VsZCBjYXVzZSBzb21lIHNlY3VyaXR5IGlzc3VlIGFzIHlvdQ0KbGV0IGd1ZXN0IGVhc2lseSB3 cml0aW5nIGhvc3QgbWVtb3J5Lg0KDQpGb3Igbm93IEkgZG9uJ3Qgc2VlIGEgcGVyZmVjdCBzb2x1 dGlvbiBleGNlcHQgUEFTSUQoUHJvY2VzcyBBZGRyZXNzIFNwYWNlIElEKS4gSUlSQywNCldlIGNv dWxkIGxldCBRRU1VIGhhdmUgYSBwcmltYXJ5IFBBU0lEIGFuZCB2ZHBhIGFwcCBoYXZlIGEgc2Vj b25kYXJ5IFBBU0lEIHNvIHRoYXQNClZNIGNhbid0IHBlcmZvcm0gRE1BIHRvIHZkcGEgYXBwLiBC dXQgc2luY2UgaXQgbmVlZHMgSFcgc3VwcG9ydCBhbmQgcmVsYXRlZCBzdXBwb3J0DQppbiB2Zmlv IGlzIG5vdCBtYXR1cmUsIEkgZG9uJ3QgdGhpbmsgd2UgYXJlIGFibGUgdG8gdXNlIHRoYXQgc29s dXRpb24gbm93Lg0KDQpBbnkgc29sdXRpb24geW91IGNhbiB0aGluayBvZiBmb3IgeW91ciBIVz8N Cg0KVGhhbmtzLA0KQ2hlbmJvDQoNCj4gDQo+IFtzbmlwXQ0KPiANCj4gVGhhbmtzLA0KPiBWaWph eQ0KDQo=