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 2C041A09FF; Wed, 30 Dec 2020 04:15:28 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 79622C9C0; Wed, 30 Dec 2020 04:15:12 +0100 (CET) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id A9FA44F96 for ; Wed, 30 Dec 2020 04:15:09 +0100 (CET) IronPort-SDR: BwwltvHUmmBiIgl86rnluzsz6zOU4VYiP9lPK+XTqsScFGtM69WohvElWoTa4KBKd/tniW06eh /IB5xmerXaNg== X-IronPort-AV: E=McAfee;i="6000,8403,9849"; a="176661650" X-IronPort-AV: E=Sophos;i="5.78,460,1599548400"; d="scan'208";a="176661650" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Dec 2020 19:15:07 -0800 IronPort-SDR: ktReCur5mvTbobIDqwKfXJVNxPRlbYsy3fDtTg+Zi37JT45O5DTTzLskldFBc++BbrXnMOBx5I Pi10MGC3oViQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,460,1599548400"; d="scan'208";a="460338438" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga001.fm.intel.com with ESMTP; 29 Dec 2020 19:15:07 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) 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; Tue, 29 Dec 2020 19:15:06 -0800 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) 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.1713.5; Tue, 29 Dec 2020 19:15:06 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Tue, 29 Dec 2020 19:15:06 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.40) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Tue, 29 Dec 2020 19:15:05 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M9iIOiHAHkEftBXI0hbG5j8b/fiBnyU11F5ayN0G6DqpAtyKuVfR2ReZ4V3QENvhUQ3RgezA7krQOL16J6ysko+KI/peIzDzovcgTWcvNBAWqetCM06iU5WRDF4l219kl/tRvpc6uR66+3uKG1mc4Jb6VxX2nkOUzYAOMnH9W9QjaIdmEj0MTrhXnmNiGPR6uz3RfzTcyH2Z3EWPEAA6CUG57+frb/8iZjHVhR/bekIj8OfPqsXnLpfLeLHZ1/OIhBgws+PkjAogDJ3I55YH+s1pyqGDMzsC3LIIcg/n4CmCjLQb0J0hYCYEY6Qas16AIFXEhC1WqwCTPQurhkAIBQ== 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=42QIUscW38GoWCLbZUdDzoeGInrHFOy6PpfE+Ekqajo=; b=PAYuaxqLIwIUY/XKqmOsrOXwkNLrATkRVRGLNz2ZSazVRtEjFTR1H3+Y0dnbV30LpreAcTdoJlmsNvRXH7yHkfIbGj580NGNbIKICpZ3mYlreWuFF0Wwm5S6rFVSDFMBAuFeuuyLEErzL0b40jk/EihiXGpzw8KD/OKCBOrFlzg//1DI9vuf+Dx4MHkBOQtam8JxScd2Oh82AnqT3RUn89Wt+Cl0YrodtyOcPQ1y5/GFfAjNFpcDeS1NlMjtWH5WQM3fxkjZWvaBHs8KDgS+w526eUI6U1ZcxNv8wL/TDJbiSh6sVfD/KT21qpQYnyPkzoBldrBdsuWGD8UHV2L9uA== 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=42QIUscW38GoWCLbZUdDzoeGInrHFOy6PpfE+Ekqajo=; b=ACSnub7JhLrQtWyHMl9M2pCnQ32/RJ1TafxldsH++VtZYx1Bnt5C5j4h7AMx9mwu0JpM4hX/FIGjX3M/zGKLNjOErS7s1qK95ICQ71TZH8ocXiOq3RWGW0EgIUkuHOtfTEKhymEswE6t6G+HKQ1yesDJy0ISvU+/NcZFS0k771A= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3933.namprd11.prod.outlook.com (2603:10b6:208:13d::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.29; Wed, 30 Dec 2020 03:15:05 +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.3700.031; Wed, 30 Dec 2020 03:15:05 +0000 From: "Xia, Chenbo" To: Maxime Coquelin , "dev@dpdk.org" , "olivier.matz@6wind.com" , "amorenoz@redhat.com" , "david.marchand@redhat.com" Thread-Topic: [PATCH 19/40] net/virtio: move config definitions to generic header Thread-Index: AQHW1xVIOf4a87pwhEig4VLeWPP+c6oPBbhA Date: Wed, 30 Dec 2020 03:15:05 +0000 Message-ID: References: <20201220211405.313012-1-maxime.coquelin@redhat.com> <20201220211405.313012-20-maxime.coquelin@redhat.com> In-Reply-To: <20201220211405.313012-20-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.198.147.218] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 93538a1f-0bf0-48ff-1407-08d8ac711aa9 x-ms-traffictypediagnostic: MN2PR11MB3933: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:605; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: IOwSa60jPs3Fpwm/moMen6YZFEwxLCygVYmhBYqOUOjZryJTZi56viPodKt99+zMKiL3GmmEgAXcK/O42wzpzzu46byqSDXoTNFCJiShAqjvgVZMeG92ckRSZF+o0BIo9pC7mPey4rjJ/6CDRUFhkFifc0hTZr3djiTCPUnXekuzEXXG0H4EsUhNFTw2pvZPB6Q2FwzzBz9X08sxUpiRzgmTVWXZBKANnV/zxlH4uaFyNjh3aTOUFVaJSbOghs86OmsB+YiGFRFAOcvNwSr4yPCreiCWLXO1+fRgxYEW3Jp+KHmGmwgzYVsRsWCecaGX63sDCvVA+zrWxRIgThcFRmAT437cXLqNZZXflAHKyVop/iqSdSf5/bO8+AGBU/fEuKxHK38NWhyMB47B7FyIAIfpCElymeMUCNssLldOTeS47CWmz7SC2MMhiW2FS5lK 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)(366004)(376002)(396003)(136003)(2906002)(66476007)(186003)(316002)(64756008)(8676002)(55016002)(66556008)(8936002)(53546011)(30864003)(76116006)(7696005)(66946007)(66446008)(26005)(83380400001)(478600001)(5660300002)(71200400001)(86362001)(6506007)(9686003)(110136005)(33656002)(52536014)(41533002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?S0psRFUrOTM0Unh5dldtaitXTlZhdFJWWXhyT2trR1I2cm1wb2lZSXJCZ2Ir?= =?utf-8?B?T2RSNlRuSHpXTmhXdmlXQll3U016eTdFR2hWbEtYTkRMN1k2aEZJR2FDTTdW?= =?utf-8?B?OGR2R3ZqMUJLTlVOZ1hlcGh3L0tYbTBidlZjbHlTaUZLTWFDYWN0QVBEeTNC?= =?utf-8?B?aUE3OGI5T3JpV0RhYksyWHhhYm11OFJxOEduNEFROVc5dmZSdjErc25PTkRI?= =?utf-8?B?WU41a1M4T0JFdWNuTFh6K1ZHa0t0bmhMaUxsK0lteC8rcFFiVGVTRmhpOEw4?= =?utf-8?B?WldvNXhIc1BYcHRlVm00OE1QelBJUlRMYk9rWmtiZkY2aU1BdmpNSjdzVnBh?= =?utf-8?B?K0ZUWVJZTU5uSkZvaHdTR3cxWW5CeXJ1Ky95RzZFbnM3WXQzTVhsc2xxRzdG?= =?utf-8?B?T21xajVpNGFXRDRKa2ZZM1paeDJDQ241ZkRJSVlqUG5Oa3laRUdtNnpoMjFo?= =?utf-8?B?QjJtQm82VFlZREZINFJrVTd1RW1nbW81MGdUUTJHZGlzRHNFM3NqMzhsbXdF?= =?utf-8?B?OWE4dHNvc3BGa3AzNGdlV1lFTjZkeVlVZmdIaitnc1lMU01qNUxKZS9MNzIz?= =?utf-8?B?UmhqeVZqRlk2ZkNCYzdzNU50SWxUQlF0REtQUFc5dXZ6M0FoV1ZnRitHQzhP?= =?utf-8?B?WU5lc2N0VnMwVWREY3hmWEVpMUZNcnJwM0MvbW12QXpNVDZoRld3R3dsWGtl?= =?utf-8?B?YkhOZmdCVHhUdFFaWFJJRWdhM1VlVGlXNkpFN2c2dURsdUdMcWYxeng5aHJr?= =?utf-8?B?aHFXNVp5RS9wTUFrUXhzSmZmenJTbm9UdW1NZ2dHUTNsUVpFSjVGbEV2Y0p1?= =?utf-8?B?MzlEK0pIdTBHcXkxNzVIazZSV3JzQk9INjUrU3pSN0k4emVYVEl3UVdweDZV?= =?utf-8?B?OU5mVXlmOE16RDVBMzM0QWpRaHBSS0I2bHRERkM4enpYcVpUL3k0SGFwMHYx?= =?utf-8?B?L0YxcERqaTM2SDV1M2FKbjMrWVl5dlJWNWt2TWxqNDRiMlYxY1hvaHpidkhQ?= =?utf-8?B?a3dlbFgySGs5OVVqTGdNNVRZVHg0RDkwY3JMWHZaNTFuMkE1NUtpWmQvTlpE?= =?utf-8?B?cDluQWdISU1zSTFvYTFyRmhLbVh1WnZ2TmlqNUZRRW9ZRnNSUzJUcGN0VjZI?= =?utf-8?B?SXpJNy9uc3FVMUJ0Zll5VnUvWEVCbUpDLzBOZEV1RmtobkhPNHYrRFBscDdZ?= =?utf-8?B?bTIweGsrRkp2T1ZVcjZxajFYK1NDbXhUODUzUFBidlMyZnppckZSNUFEREYw?= =?utf-8?B?WnBFbGRBK3YyVEplcldlcE91bjZ5cGk3R09zS0YzVzR3bHZXOGxHYWZqcWdX?= =?utf-8?Q?0y5Nn7T7lV9U4ca15tZtfmADX5iJhj2BAd?= 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: 93538a1f-0bf0-48ff-1407-08d8ac711aa9 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Dec 2020 03:15:05.0206 (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: /a7vD6bRU5HTU/5F/p67z7TvxBKAgAaDEFMuG25kTqSDhi4amTjCHyia8zZKmc/5JhSyHA9nP8WFCqIX5ya7Ng== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3933 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH 19/40] net/virtio: move config definitions to generic header 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" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBNYXhpbWUgQ29xdWVsaW4gPG1h eGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTZW50OiBNb25kYXksIERlY2VtYmVyIDIxLCAy MDIwIDU6MTQgQU0NCj4gVG86IGRldkBkcGRrLm9yZzsgWGlhLCBDaGVuYm8gPGNoZW5iby54aWFA aW50ZWwuY29tPjsgb2xpdmllci5tYXR6QDZ3aW5kLmNvbTsNCj4gYW1vcmVub3pAcmVkaGF0LmNv bTsgZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbQ0KPiBDYzogTWF4aW1lIENvcXVlbGluIDxtYXhp bWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gU3ViamVjdDogW1BBVENIIDE5LzQwXSBuZXQvdmly dGlvOiBtb3ZlIGNvbmZpZyBkZWZpbml0aW9ucyB0byBnZW5lcmljIGhlYWRlcg0KPiANCj4gVGhp cyBwYXRjaCBtb3ZlcyBjb25maWcgYW5kIHN0YXR1cyBkZWZpbml0aW9ucyBmcm9tIHRoZSBQQ0kN Cj4gaGVhZGVyIHRvIHRoZSBnZW5lcmljIG9uZS4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IE1heGlt ZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+IC0tLQ0KPiAgZHJpdmVy cy9uZXQvdmlydGlvL3ZpcnRpby5jICAgICAgICAgICAgIHwgNDMgKysrKysrKysrKysrKysrKysr Kw0KPiAgZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpby5oICAgICAgICAgICAgIHwgNTIgKysrKysr KysrKysrKysrKysrKysrKy0NCj4gIGRyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fZXRoZGV2LmMg ICAgICB8IDM2ICsrKysrKysrLS0tLS0tLS0NCj4gIGRyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9f cGNpLmMgICAgICAgICB8IDQ0IC0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICBkcml2ZXJzL25ldC92 aXJ0aW8vdmlydGlvX3BjaS5oICAgICAgICAgfCA1NSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t DQo+ICBkcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXJfZXRoZGV2LmMgfCAxMiArKystLS0N Cj4gIDYgZmlsZXMgY2hhbmdlZCwgMTE4IGluc2VydGlvbnMoKyksIDEyNCBkZWxldGlvbnMoLSkN Cj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvLmMgYi9kcml2ZXJz L25ldC92aXJ0aW8vdmlydGlvLmMNCj4gaW5kZXggZDhkNmJmN2FkZC4uYmEzMjAzZTY4YiAxMDA2 NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpby5jDQo+ICsrKyBiL2RyaXZlcnMv bmV0L3ZpcnRpby92aXJ0aW8uYw0KPiBAQCAtMjAsMyArMjAsNDYgQEAgdmlydGlvX25lZ290aWF0 ZV9mZWF0dXJlcyhzdHJ1Y3QgdmlydGlvX2h3ICpodywgdWludDY0X3QNCj4gaG9zdF9mZWF0dXJl cykNCj4gIAlyZXR1cm4gZmVhdHVyZXM7DQo+ICB9DQo+IA0KPiArDQo+ICt2b2lkDQo+ICt2aXJ0 aW9fcmVhZF9kZXZfY29uZmlnKHN0cnVjdCB2aXJ0aW9faHcgKmh3LCBzaXplX3Qgb2Zmc2V0LA0K PiArCQkgICAgICB2b2lkICpkc3QsIGludCBsZW5ndGgpDQo+ICt7DQo+ICsJVklSVElPX09QUyho dyktPnJlYWRfZGV2X2NmZyhodywgb2Zmc2V0LCBkc3QsIGxlbmd0aCk7DQo+ICt9DQo+ICsNCj4g K3ZvaWQNCj4gK3ZpcnRpb193cml0ZV9kZXZfY29uZmlnKHN0cnVjdCB2aXJ0aW9faHcgKmh3LCBz aXplX3Qgb2Zmc2V0LA0KPiArCQkgICAgICAgY29uc3Qgdm9pZCAqc3JjLCBpbnQgbGVuZ3RoKQ0K PiArew0KPiArCVZJUlRJT19PUFMoaHcpLT53cml0ZV9kZXZfY2ZnKGh3LCBvZmZzZXQsIHNyYywg bGVuZ3RoKTsNCj4gK30NCj4gKw0KPiArdm9pZA0KPiArdmlydGlvX3Jlc2V0KHN0cnVjdCB2aXJ0 aW9faHcgKmh3KQ0KPiArew0KPiArCVZJUlRJT19PUFMoaHcpLT5zZXRfc3RhdHVzKGh3LCBWSVJU SU9fQ09ORklHX1NUQVRVU19SRVNFVCk7DQo+ICsJLyogZmx1c2ggc3RhdHVzIHdyaXRlICovDQo+ ICsJVklSVElPX09QUyhodyktPmdldF9zdGF0dXMoaHcpOw0KPiArfQ0KPiArDQo+ICt2b2lkDQo+ ICt2aXJ0aW9fcmVpbml0X2NvbXBsZXRlKHN0cnVjdCB2aXJ0aW9faHcgKmh3KQ0KPiArew0KPiAr CXZpcnRpb19zZXRfc3RhdHVzKGh3LCBWSVJUSU9fQ09ORklHX1NUQVRVU19EUklWRVJfT0spOw0K PiArfQ0KPiArDQo+ICt2b2lkDQo+ICt2aXJ0aW9fc2V0X3N0YXR1cyhzdHJ1Y3QgdmlydGlvX2h3 ICpodywgdWludDhfdCBzdGF0dXMpDQo+ICt7DQo+ICsJaWYgKHN0YXR1cyAhPSBWSVJUSU9fQ09O RklHX1NUQVRVU19SRVNFVCkNCj4gKwkJc3RhdHVzIHw9IFZJUlRJT19PUFMoaHcpLT5nZXRfc3Rh dHVzKGh3KTsNCj4gKw0KPiArCVZJUlRJT19PUFMoaHcpLT5zZXRfc3RhdHVzKGh3LCBzdGF0dXMp Ow0KPiArfQ0KPiArDQo+ICt1aW50OF90DQo+ICt2aXJ0aW9fZ2V0X3N0YXR1cyhzdHJ1Y3Qgdmly dGlvX2h3ICpodykNCj4gK3sNCj4gKwlyZXR1cm4gVklSVElPX09QUyhodyktPmdldF9zdGF0dXMo aHcpOw0KPiArfQ0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpby5oIGIv ZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpby5oDQo+IGluZGV4IGVlZWI1ZGJhNGYuLjUxNjk0MzZj OWYgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW8uaA0KPiArKysgYi9k cml2ZXJzL25ldC92aXJ0aW8vdmlydGlvLmgNCj4gQEAgLTEwNiw2ICsxMDYsNTAgQEANCj4gICNk ZWZpbmUgVklSVElPX01BWF9WSVJUUVVFVUVfUEFJUlMgOA0KPiAgI2RlZmluZSBWSVJUSU9fTUFY X1ZJUlRRVUVVRVMgKFZJUlRJT19NQVhfVklSVFFVRVVFX1BBSVJTICogMiArIDEpDQo+IA0KPiAr LyogVmlydElPIGRldmljZSBJRHMuICovDQo+ICsjZGVmaW5lIFZJUlRJT19JRF9ORVRXT1JLICAw eDAxDQo+ICsjZGVmaW5lIFZJUlRJT19JRF9CTE9DSyAgICAweDAyDQo+ICsjZGVmaW5lIFZJUlRJ T19JRF9DT05TT0xFICAweDAzDQo+ICsjZGVmaW5lIFZJUlRJT19JRF9FTlRST1BZICAweDA0DQo+ ICsjZGVmaW5lIFZJUlRJT19JRF9CQUxMT09OICAweDA1DQo+ICsjZGVmaW5lIFZJUlRJT19JRF9J T01FTU9SWSAweDA2DQo+ICsjZGVmaW5lIFZJUlRJT19JRF85UCAgICAgICAweDA5DQo+ICsNCj4g Ky8qIFN0YXR1cyBieXRlIGZvciBndWVzdCB0byByZXBvcnQgcHJvZ3Jlc3MuICovDQo+ICsjZGVm aW5lIFZJUlRJT19DT05GSUdfU1RBVFVTX1JFU0VUCQkweDAwDQo+ICsjZGVmaW5lIFZJUlRJT19D T05GSUdfU1RBVFVTX0FDSwkJMHgwMQ0KPiArI2RlZmluZSBWSVJUSU9fQ09ORklHX1NUQVRVU19E UklWRVIJCTB4MDINCj4gKyNkZWZpbmUgVklSVElPX0NPTkZJR19TVEFUVVNfRFJJVkVSX09LCQkw eDA0DQo+ICsjZGVmaW5lIFZJUlRJT19DT05GSUdfU1RBVFVTX0ZFQVRVUkVTX09LCTB4MDgNCj4g KyNkZWZpbmUgVklSVElPX0NPTkZJR19TVEFUVVNfREVWX05FRURfUkVTRVQJMHg0MA0KPiArI2Rl ZmluZSBWSVJUSU9fQ09ORklHX1NUQVRVU19GQUlMRUQJCTB4ODANCj4gKw0KPiArLyoNCj4gKyAq IFRoaXMgc3RydWN0dXJlIGlzIGp1c3QgYSByZWZlcmVuY2UgdG8gcmVhZA0KPiArICogbmV0IGRl dmljZSBzcGVjaWZpYyBjb25maWcgc3BhY2U7IGl0IGp1c3QgYSBjaG9kdSBzdHJ1Y3R1cmUNCj4g KyAqDQo+ICsgKi8NCj4gK3N0cnVjdCB2aXJ0aW9fbmV0X2NvbmZpZyB7DQo+ICsJLyogVGhlIGNv bmZpZyBkZWZpbmluZyBtYWMgYWRkcmVzcyAoaWYgVklSVElPX05FVF9GX01BQykgKi8NCj4gKwl1 aW50OF90ICAgIG1hY1tSVEVfRVRIRVJfQUREUl9MRU5dOw0KPiArCS8qIFNlZSBWSVJUSU9fTkVU X0ZfU1RBVFVTIGFuZCBWSVJUSU9fTkVUX1NfKiBhYm92ZSAqLw0KPiArCXVpbnQxNl90ICAgc3Rh dHVzOw0KPiArCXVpbnQxNl90ICAgbWF4X3ZpcnRxdWV1ZV9wYWlyczsNCj4gKwl1aW50MTZfdCAg IG10dTsNCj4gKwkvKg0KPiArCSAqIHNwZWVkLCBpbiB1bml0cyBvZiAxTWIuIEFsbCB2YWx1ZXMg MCB0byBJTlRfTUFYIGFyZSBsZWdhbC4NCj4gKwkgKiBBbnkgb3RoZXIgdmFsdWUgc3RhbmRzIGZv ciB1bmtub3duLg0KPiArCSAqLw0KPiArCXVpbnQzMl90IHNwZWVkOw0KPiArCS8qDQo+ICsJICog MHgwMCAtIGhhbGYgZHVwbGV4DQo+ICsJICogMHgwMSAtIGZ1bGwgZHVwbGV4DQo+ICsJICogQW55 IG90aGVyIHZhbHVlIHN0YW5kcyBmb3IgdW5rbm93bi4NCj4gKwkgKi8NCj4gKwl1aW50OF90IGR1 cGxleDsNCj4gKw0KPiArfSBfX3J0ZV9wYWNrZWQ7DQo+ICsNCj4gIHN0cnVjdCB2aXJ0aW9faHcg ew0KPiAgCXN0cnVjdCB2aXJ0cXVldWUgKip2cXM7DQo+ICAJdWludDY0X3QgZ3Vlc3RfZmVhdHVy ZXM7DQo+IEBAIC0xNTksNyArMjAzLDcgQEAgc3RydWN0IHZpcnRpb19vcHMgew0KPiAgLyoNCj4g ICAqIFdoaWxlIHZpcnRpb19odyBpcyBzdG9yZWQgaW4gc2hhcmVkIG1lbW9yeSwgdGhpcyBzdHJ1 Y3R1cmUgc3RvcmVzDQo+ICAgKiBzb21lIGluZm9zIHRoYXQgbWF5IHZhcnkgaW4gdGhlIG11bHRp cGxlIHByb2Nlc3MgbW9kZWwgbG9jYWxseS4NCj4gLSAqIEZvciBleGFtcGxlLCB0aGUgdnRwY2lf b3BzIHBvaW50ZXIuDQo+ICsgKiBGb3IgZXhhbXBsZSwgdGhlIHZpcnRpb19vcHMgcG9pbnRlci4N Cj4gICAqLw0KPiAgc3RydWN0IHZpcnRpb19od19pbnRlcm5hbCB7DQo+ICAJY29uc3Qgc3RydWN0 IHZpcnRpb19vcHMgKnZpcnRpb19vcHM7DQo+IEBAIC0xODMsNSArMjI3LDExIEBAIHZpcnRpb193 aXRoX3BhY2tlZF9xdWV1ZShzdHJ1Y3QgdmlydGlvX2h3ICpodykNCj4gIH0NCj4gDQo+ICB1aW50 NjRfdCB2aXJ0aW9fbmVnb3RpYXRlX2ZlYXR1cmVzKHN0cnVjdCB2aXJ0aW9faHcgKmh3LCB1aW50 NjRfdA0KPiBob3N0X2ZlYXR1cmVzKTsNCj4gK3VpbnQ4X3QgdmlydGlvX2dldF9zdGF0dXMoc3Ry dWN0IHZpcnRpb19odyAqaHcpOw0KPiArdm9pZCB2aXJ0aW9fc2V0X3N0YXR1cyhzdHJ1Y3Qgdmly dGlvX2h3ICpodywgdWludDhfdCBzdGF0dXMpOw0KPiArdm9pZCB2aXJ0aW9fd3JpdGVfZGV2X2Nv bmZpZyhzdHJ1Y3QgdmlydGlvX2h3ICpodywgc2l6ZV90IG9mZnNldCwgY29uc3Qgdm9pZA0KPiAq c3JjLCBpbnQgbGVuZ3RoKTsNCj4gK3ZvaWQgdmlydGlvX3JlYWRfZGV2X2NvbmZpZyhzdHJ1Y3Qg dmlydGlvX2h3ICpodywgc2l6ZV90IG9mZnNldCwgdm9pZCAqZHN0LA0KPiBpbnQgbGVuZ3RoKTsN Cj4gK3ZvaWQgdmlydGlvX3Jlc2V0KHN0cnVjdCB2aXJ0aW9faHcgKmh3KTsNCj4gK3ZvaWQgdmly dGlvX3JlaW5pdF9jb21wbGV0ZShzdHJ1Y3QgdmlydGlvX2h3ICpodyk7DQo+IA0KPiAgI2VuZGlm IC8qIF9WSVJUSU9fSF8gKi8NCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0 aW9fZXRoZGV2LmMNCj4gYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX2V0aGRldi5jDQo+IGlu ZGV4IGM5MDg1ZjJmMzUuLjU2MDY0N2YxMWIgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3Zp cnRpby92aXJ0aW9fZXRoZGV2LmMNCj4gKysrIGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb19l dGhkZXYuYw0KPiBAQCAtNzE0LDcgKzcxNCw3IEBAIHZpcnRpb19kZXZfY2xvc2Uoc3RydWN0IHJ0 ZV9ldGhfZGV2ICpkZXYpDQo+ICAJCWRldi0+aW50cl9oYW5kbGUtPmludHJfdmVjID0gTlVMTDsN Cj4gIAl9DQo+IA0KPiAtCXZ0cGNpX3Jlc2V0KGh3KTsNCj4gKwl2aXJ0aW9fcmVzZXQoaHcpOw0K PiAgCXZpcnRpb19kZXZfZnJlZV9tYnVmcyhkZXYpOw0KPiAgCXZpcnRpb19mcmVlX3F1ZXVlcyho dyk7DQo+IA0KPiBAQCAtMTA5Niw3ICsxMDk2LDcgQEAgdmlydGlvX2Rldl9zdGF0c19yZXNldChz dHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCj4gIHN0YXRpYyB2b2lkDQo+ICB2aXJ0aW9fc2V0X2h3 YWRkcihzdHJ1Y3QgdmlydGlvX2h3ICpodykNCj4gIHsNCj4gLQl2dHBjaV93cml0ZV9kZXZfY29u ZmlnKGh3LA0KPiArCXZpcnRpb193cml0ZV9kZXZfY29uZmlnKGh3LA0KPiAgCQkJb2Zmc2V0b2Yo c3RydWN0IHZpcnRpb19uZXRfY29uZmlnLCBtYWMpLA0KPiAgCQkJJmh3LT5tYWNfYWRkciwgUlRF X0VUSEVSX0FERFJfTEVOKTsNCj4gIH0NCj4gQEAgLTExMDUsNyArMTEwNSw3IEBAIHN0YXRpYyB2 b2lkDQo+ICB2aXJ0aW9fZ2V0X2h3YWRkcihzdHJ1Y3QgdmlydGlvX2h3ICpodykNCj4gIHsNCj4g IAlpZiAodmlydGlvX3dpdGhfZmVhdHVyZShodywgVklSVElPX05FVF9GX01BQykpIHsNCj4gLQkJ dnRwY2lfcmVhZF9kZXZfY29uZmlnKGh3LA0KPiArCQl2aXJ0aW9fcmVhZF9kZXZfY29uZmlnKGh3 LA0KPiAgCQkJb2Zmc2V0b2Yoc3RydWN0IHZpcnRpb19uZXRfY29uZmlnLCBtYWMpLA0KPiAgCQkJ Jmh3LT5tYWNfYWRkciwgUlRFX0VUSEVSX0FERFJfTEVOKTsNCj4gIAl9IGVsc2Ugew0KPiBAQCAt MTI5OCw3ICsxMjk4LDcgQEAgdmlydGlvX2V0aGRldl9uZWdvdGlhdGVfZmVhdHVyZXMoc3RydWN0 IHZpcnRpb19odyAqaHcsDQo+IHVpbnQ2NF90IHJlcV9mZWF0dXJlcykNCj4gIAlpZiAoaG9zdF9m ZWF0dXJlcyAmIHJlcV9mZWF0dXJlcyAmICgxVUxMIDw8IFZJUlRJT19ORVRfRl9NVFUpKSB7DQo+ ICAJCXN0cnVjdCB2aXJ0aW9fbmV0X2NvbmZpZyBjb25maWc7DQo+IA0KPiAtCQl2dHBjaV9yZWFk X2Rldl9jb25maWcoaHcsDQo+ICsJCXZpcnRpb19yZWFkX2Rldl9jb25maWcoaHcsDQo+ICAJCQlv ZmZzZXRvZihzdHJ1Y3QgdmlydGlvX25ldF9jb25maWcsIG10dSksDQo+ICAJCQkmY29uZmlnLm10 dSwgc2l6ZW9mKGNvbmZpZy5tdHUpKTsNCj4gDQo+IEBAIC0xMzIxLDkgKzEzMjEsOSBAQCB2aXJ0 aW9fZXRoZGV2X25lZ290aWF0ZV9mZWF0dXJlcyhzdHJ1Y3QgdmlydGlvX2h3ICpodywNCj4gdWlu dDY0X3QgcmVxX2ZlYXR1cmVzKQ0KPiAgCX0NCj4gDQo+ICAJaWYgKHZpcnRpb193aXRoX2ZlYXR1 cmUoaHcsIFZJUlRJT19GX1ZFUlNJT05fMSkpIHsNCj4gLQkJdnRwY2lfc2V0X3N0YXR1cyhodywg VklSVElPX0NPTkZJR19TVEFUVVNfRkVBVFVSRVNfT0spOw0KPiArCQl2aXJ0aW9fc2V0X3N0YXR1 cyhodywgVklSVElPX0NPTkZJR19TVEFUVVNfRkVBVFVSRVNfT0spOw0KPiANCj4gLQkJaWYgKCEo dnRwY2lfZ2V0X3N0YXR1cyhodykgJiBWSVJUSU9fQ09ORklHX1NUQVRVU19GRUFUVVJFU19PSykp IHsNCj4gKwkJaWYgKCEodmlydGlvX2dldF9zdGF0dXMoaHcpICYgVklSVElPX0NPTkZJR19TVEFU VVNfRkVBVFVSRVNfT0spKSB7DQo+ICAJCQlQTURfSU5JVF9MT0coRVJSLCAiRmFpbGVkIHRvIHNl dCBGRUFUVVJFU19PSyBzdGF0dXMhIik7DQo+ICAJCQlyZXR1cm4gLTE7DQo+ICAJCX0NCj4gQEAg LTE0NTUsNyArMTQ1NSw3IEBAIHZpcnRpb19pbnRlcnJ1cHRfaGFuZGxlcih2b2lkICpwYXJhbSkN Cj4gIAkJCQkJCSAgICAgTlVMTCk7DQo+IA0KPiAgCQlpZiAodmlydGlvX3dpdGhfZmVhdHVyZSho dywgVklSVElPX05FVF9GX1NUQVRVUykpIHsNCj4gLQkJCXZ0cGNpX3JlYWRfZGV2X2NvbmZpZyho dywNCj4gKwkJCXZpcnRpb19yZWFkX2Rldl9jb25maWcoaHcsDQo+ICAJCQkJb2Zmc2V0b2Yoc3Ry dWN0IHZpcnRpb19uZXRfY29uZmlnLCBzdGF0dXMpLA0KPiAgCQkJCSZzdGF0dXMsIHNpemVvZihz dGF0dXMpKTsNCj4gIAkJCWlmIChzdGF0dXMgJiBWSVJUSU9fTkVUX1NfQU5OT1VOQ0UpIHsNCj4g QEAgLTE2MzcsNyArMTYzNyw3IEBAIHZpcnRpb19pbml0X2RldmljZShzdHJ1Y3QgcnRlX2V0aF9k ZXYgKmV0aF9kZXYsIHVpbnQ2NF90DQo+IHJlcV9mZWF0dXJlcykNCj4gIAlpbnQgcmV0Ow0KPiAN Cj4gIAkvKiBSZXNldCB0aGUgZGV2aWNlIGFsdGhvdWdoIG5vdCBuZWNlc3NhcnkgYXQgc3RhcnR1 cCAqLw0KPiAtCXZ0cGNpX3Jlc2V0KGh3KTsNCj4gKwl2aXJ0aW9fcmVzZXQoaHcpOw0KPiANCj4g IAlpZiAoaHctPnZxcykgew0KPiAgCQl2aXJ0aW9fZGV2X2ZyZWVfbWJ1ZnMoZXRoX2Rldik7DQo+ IEBAIC0xNjQ1LDEwICsxNjQ1LDEwIEBAIHZpcnRpb19pbml0X2RldmljZShzdHJ1Y3QgcnRlX2V0 aF9kZXYgKmV0aF9kZXYsDQo+IHVpbnQ2NF90IHJlcV9mZWF0dXJlcykNCj4gIAl9DQo+IA0KPiAg CS8qIFRlbGwgdGhlIGhvc3Qgd2UndmUgbm90aWNlZCB0aGlzIGRldmljZS4gKi8NCj4gLQl2dHBj aV9zZXRfc3RhdHVzKGh3LCBWSVJUSU9fQ09ORklHX1NUQVRVU19BQ0spOw0KPiArCXZpcnRpb19z ZXRfc3RhdHVzKGh3LCBWSVJUSU9fQ09ORklHX1NUQVRVU19BQ0spOw0KPiANCj4gIAkvKiBUZWxs IHRoZSBob3N0IHdlJ3ZlIGtub3duIGhvdyB0byBkcml2ZSB0aGUgZGV2aWNlLiAqLw0KPiAtCXZ0 cGNpX3NldF9zdGF0dXMoaHcsIFZJUlRJT19DT05GSUdfU1RBVFVTX0RSSVZFUik7DQo+ICsJdmly dGlvX3NldF9zdGF0dXMoaHcsIFZJUlRJT19DT05GSUdfU1RBVFVTX0RSSVZFUik7DQo+ICAJaWYg KHZpcnRpb19ldGhkZXZfbmVnb3RpYXRlX2ZlYXR1cmVzKGh3LCByZXFfZmVhdHVyZXMpIDwgMCkN Cj4gIAkJcmV0dXJuIC0xOw0KPiANCj4gQEAgLTE2ODMsMTAgKzE2ODMsMTAgQEAgdmlydGlvX2lu aXRfZGV2aWNlKHN0cnVjdCBydGVfZXRoX2RldiAqZXRoX2RldiwNCj4gdWludDY0X3QgcmVxX2Zl YXR1cmVzKQ0KPiAgCWlmIChody0+c3BlZWQgPT0gRVRIX1NQRUVEX05VTV9VTktOT1dOKSB7DQo+ ICAJCWlmICh2aXJ0aW9fd2l0aF9mZWF0dXJlKGh3LCBWSVJUSU9fTkVUX0ZfU1BFRURfRFVQTEVY KSkgew0KPiAgCQkJY29uZmlnID0gJmxvY2FsX2NvbmZpZzsNCj4gLQkJCXZ0cGNpX3JlYWRfZGV2 X2NvbmZpZyhodywNCj4gKwkJCXZpcnRpb19yZWFkX2Rldl9jb25maWcoaHcsDQo+ICAJCQkJb2Zm c2V0b2Yoc3RydWN0IHZpcnRpb19uZXRfY29uZmlnLCBzcGVlZCksDQo+ICAJCQkJJmNvbmZpZy0+ c3BlZWQsIHNpemVvZihjb25maWctPnNwZWVkKSk7DQo+IC0JCQl2dHBjaV9yZWFkX2Rldl9jb25m aWcoaHcsDQo+ICsJCQl2aXJ0aW9fcmVhZF9kZXZfY29uZmlnKGh3LA0KPiAgCQkJCW9mZnNldG9m KHN0cnVjdCB2aXJ0aW9fbmV0X2NvbmZpZywgZHVwbGV4KSwNCj4gIAkJCQkmY29uZmlnLT5kdXBs ZXgsIHNpemVvZihjb25maWctPmR1cGxleCkpOw0KPiAgCQkJaHctPnNwZWVkID0gY29uZmlnLT5z cGVlZDsNCj4gQEAgLTE3MDAsMTIgKzE3MDAsMTIgQEAgdmlydGlvX2luaXRfZGV2aWNlKHN0cnVj dCBydGVfZXRoX2RldiAqZXRoX2RldiwNCj4gdWludDY0X3QgcmVxX2ZlYXR1cmVzKQ0KPiAgCWlm ICh2aXJ0aW9fd2l0aF9mZWF0dXJlKGh3LCBWSVJUSU9fTkVUX0ZfQ1RSTF9WUSkpIHsNCj4gIAkJ Y29uZmlnID0gJmxvY2FsX2NvbmZpZzsNCj4gDQo+IC0JCXZ0cGNpX3JlYWRfZGV2X2NvbmZpZyho dywNCj4gKwkJdmlydGlvX3JlYWRfZGV2X2NvbmZpZyhodywNCj4gIAkJCW9mZnNldG9mKHN0cnVj dCB2aXJ0aW9fbmV0X2NvbmZpZywgbWFjKSwNCj4gIAkJCSZjb25maWctPm1hYywgc2l6ZW9mKGNv bmZpZy0+bWFjKSk7DQo+IA0KPiAgCQlpZiAodmlydGlvX3dpdGhfZmVhdHVyZShodywgVklSVElP X05FVF9GX1NUQVRVUykpIHsNCj4gLQkJCXZ0cGNpX3JlYWRfZGV2X2NvbmZpZyhodywNCj4gKwkJ CXZpcnRpb19yZWFkX2Rldl9jb25maWcoaHcsDQo+ICAJCQkJb2Zmc2V0b2Yoc3RydWN0IHZpcnRp b19uZXRfY29uZmlnLCBzdGF0dXMpLA0KPiAgCQkJCSZjb25maWctPnN0YXR1cywgc2l6ZW9mKGNv bmZpZy0+c3RhdHVzKSk7DQo+ICAJCX0gZWxzZSB7DQo+IEBAIC0xNzE1LDcgKzE3MTUsNyBAQCB2 aXJ0aW9faW5pdF9kZXZpY2Uoc3RydWN0IHJ0ZV9ldGhfZGV2ICpldGhfZGV2LCB1aW50NjRfdA0K PiByZXFfZmVhdHVyZXMpDQo+ICAJCX0NCj4gDQo+ICAJCWlmICh2aXJ0aW9fd2l0aF9mZWF0dXJl KGh3LCBWSVJUSU9fTkVUX0ZfTVEpKSB7DQo+IC0JCQl2dHBjaV9yZWFkX2Rldl9jb25maWcoaHcs DQo+ICsJCQl2aXJ0aW9fcmVhZF9kZXZfY29uZmlnKGh3LA0KPiAgCQkJCW9mZnNldG9mKHN0cnVj dCB2aXJ0aW9fbmV0X2NvbmZpZywNCj4gbWF4X3ZpcnRxdWV1ZV9wYWlycyksDQo+ICAJCQkJJmNv bmZpZy0+bWF4X3ZpcnRxdWV1ZV9wYWlycywNCj4gIAkJCQlzaXplb2YoY29uZmlnLT5tYXhfdmly dHF1ZXVlX3BhaXJzKSk7DQo+IEBAIC0xNzI4LDcgKzE3MjgsNyBAQCB2aXJ0aW9faW5pdF9kZXZp Y2Uoc3RydWN0IHJ0ZV9ldGhfZGV2ICpldGhfZGV2LCB1aW50NjRfdA0KPiByZXFfZmVhdHVyZXMp DQo+ICAJCWh3LT5tYXhfcXVldWVfcGFpcnMgPSBjb25maWctPm1heF92aXJ0cXVldWVfcGFpcnM7 DQo+IA0KPiAgCQlpZiAodmlydGlvX3dpdGhfZmVhdHVyZShodywgVklSVElPX05FVF9GX01UVSkp IHsNCj4gLQkJCXZ0cGNpX3JlYWRfZGV2X2NvbmZpZyhodywNCj4gKwkJCXZpcnRpb19yZWFkX2Rl dl9jb25maWcoaHcsDQo+ICAJCQkJb2Zmc2V0b2Yoc3RydWN0IHZpcnRpb19uZXRfY29uZmlnLCBt dHUpLA0KPiAgCQkJCSZjb25maWctPm10dSwNCj4gIAkJCQlzaXplb2YoY29uZmlnLT5tdHUpKTsN Cj4gQEAgLTE3ODAsNyArMTc4MCw3IEBAIHZpcnRpb19pbml0X2RldmljZShzdHJ1Y3QgcnRlX2V0 aF9kZXYgKmV0aF9kZXYsIHVpbnQ2NF90DQo+IHJlcV9mZWF0dXJlcykNCj4gIAkJfQ0KPiAgCX0N Cj4gDQo+IC0JdnRwY2lfcmVpbml0X2NvbXBsZXRlKGh3KTsNCj4gKwl2aXJ0aW9fcmVpbml0X2Nv bXBsZXRlKGh3KTsNCj4gDQo+ICAJcmV0dXJuIDA7DQo+ICB9DQo+IEBAIC0yMzUyLDcgKzIzNTIs NyBAQCB2aXJ0aW9fZGV2X2xpbmtfdXBkYXRlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KPiBf X3J0ZV91bnVzZWQgaW50IHdhaXRfdG9fY29tcGxldA0KPiAgCQlsaW5rLmxpbmtfc3BlZWQgPSBF VEhfU1BFRURfTlVNX05PTkU7DQo+ICAJfSBlbHNlIGlmICh2aXJ0aW9fd2l0aF9mZWF0dXJlKGh3 LCBWSVJUSU9fTkVUX0ZfU1RBVFVTKSkgew0KPiAgCQlQTURfSU5JVF9MT0coREVCVUcsICJHZXQg bGluayBzdGF0dXMgZnJvbSBodyIpOw0KPiAtCQl2dHBjaV9yZWFkX2Rldl9jb25maWcoaHcsDQo+ ICsJCXZpcnRpb19yZWFkX2Rldl9jb25maWcoaHcsDQo+ICAJCQkJb2Zmc2V0b2Yoc3RydWN0IHZp cnRpb19uZXRfY29uZmlnLCBzdGF0dXMpLA0KPiAgCQkJCSZzdGF0dXMsIHNpemVvZihzdGF0dXMp KTsNCj4gIAkJaWYgKChzdGF0dXMgJiBWSVJUSU9fTkVUX1NfTElOS19VUCkgPT0gMCkgew0KPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb19wY2kuYyBiL2RyaXZlcnMvbmV0 L3ZpcnRpby92aXJ0aW9fcGNpLmMNCj4gaW5kZXggOWMwN2ViYWQwMC4uMjlkZDg0ODg4ZiAxMDA2 NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb19wY2kuYw0KPiArKysgYi9kcml2 ZXJzL25ldC92aXJ0aW8vdmlydGlvX3BjaS5jDQo+IEBAIC01MzMsNTAgKzUzMyw2IEBAIGNvbnN0 IHN0cnVjdCB2aXJ0aW9fb3BzIG1vZGVybl9vcHMgPSB7DQo+ICAJLmRldl9jbG9zZQk9IG1vZGVy bl9kZXZfY2xvc2UsDQo+ICB9Ow0KPiANCj4gLQ0KPiAtdm9pZA0KPiAtdnRwY2lfcmVhZF9kZXZf Y29uZmlnKHN0cnVjdCB2aXJ0aW9faHcgKmh3LCBzaXplX3Qgb2Zmc2V0LA0KPiAtCQkgICAgICB2 b2lkICpkc3QsIGludCBsZW5ndGgpDQo+IC17DQo+IC0JVklSVElPX09QUyhodyktPnJlYWRfZGV2 X2NmZyhodywgb2Zmc2V0LCBkc3QsIGxlbmd0aCk7DQo+IC19DQo+IC0NCj4gLXZvaWQNCj4gLXZ0 cGNpX3dyaXRlX2Rldl9jb25maWcoc3RydWN0IHZpcnRpb19odyAqaHcsIHNpemVfdCBvZmZzZXQs DQo+IC0JCSAgICAgICBjb25zdCB2b2lkICpzcmMsIGludCBsZW5ndGgpDQo+IC17DQo+IC0JVklS VElPX09QUyhodyktPndyaXRlX2Rldl9jZmcoaHcsIG9mZnNldCwgc3JjLCBsZW5ndGgpOw0KPiAt fQ0KPiAtDQo+IC12b2lkDQo+IC12dHBjaV9yZXNldChzdHJ1Y3QgdmlydGlvX2h3ICpodykNCj4g LXsNCj4gLQlWSVJUSU9fT1BTKGh3KS0+c2V0X3N0YXR1cyhodywgVklSVElPX0NPTkZJR19TVEFU VVNfUkVTRVQpOw0KPiAtCS8qIGZsdXNoIHN0YXR1cyB3cml0ZSAqLw0KPiAtCVZJUlRJT19PUFMo aHcpLT5nZXRfc3RhdHVzKGh3KTsNCj4gLX0NCj4gLQ0KPiAtdm9pZA0KPiAtdnRwY2lfcmVpbml0 X2NvbXBsZXRlKHN0cnVjdCB2aXJ0aW9faHcgKmh3KQ0KPiAtew0KPiAtCXZ0cGNpX3NldF9zdGF0 dXMoaHcsIFZJUlRJT19DT05GSUdfU1RBVFVTX0RSSVZFUl9PSyk7DQo+IC19DQo+IC0NCj4gLXZv aWQNCj4gLXZ0cGNpX3NldF9zdGF0dXMoc3RydWN0IHZpcnRpb19odyAqaHcsIHVpbnQ4X3Qgc3Rh dHVzKQ0KPiAtew0KPiAtCWlmIChzdGF0dXMgIT0gVklSVElPX0NPTkZJR19TVEFUVVNfUkVTRVQp DQo+IC0JCXN0YXR1cyB8PSBWSVJUSU9fT1BTKGh3KS0+Z2V0X3N0YXR1cyhodyk7DQo+IC0NCj4g LQlWSVJUSU9fT1BTKGh3KS0+c2V0X3N0YXR1cyhodywgc3RhdHVzKTsNCj4gLX0NCj4gLQ0KPiAt dWludDhfdA0KPiAtdnRwY2lfZ2V0X3N0YXR1cyhzdHJ1Y3QgdmlydGlvX2h3ICpodykNCj4gLXsN Cj4gLQlyZXR1cm4gVklSVElPX09QUyhodyktPmdldF9zdGF0dXMoaHcpOw0KPiAtfQ0KPiAtDQo+ ICB1aW50OF90DQo+ICB2dHBjaV9pc3Ioc3RydWN0IHZpcnRpb19odyAqaHcpDQo+ICB7DQo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3BjaS5oIGIvZHJpdmVycy9uZXQv dmlydGlvL3ZpcnRpb19wY2kuaA0KPiBpbmRleCAyNDlmOTc1NGNjLi4xOWQ1NmM5MjBjIDEwMDY0 NA0KPiAtLS0gYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3BjaS5oDQo+ICsrKyBiL2RyaXZl cnMvbmV0L3ZpcnRpby92aXJ0aW9fcGNpLmgNCj4gQEAgLTQ5LDI1ICs0OSw2IEBAIHN0cnVjdCB2 aXJ0bmV0X2N0bDsNCj4gIC8qIFZlY3RvciB2YWx1ZSB1c2VkIHRvIGRpc2FibGUgTVNJIGZvciBx dWV1ZS4gKi8NCj4gICNkZWZpbmUgVklSVElPX01TSV9OT19WRUNUT1IgMHhGRkZGDQo+IA0KPiAt LyogVmlydElPIGRldmljZSBJRHMuICovDQo+IC0jZGVmaW5lIFZJUlRJT19JRF9ORVRXT1JLICAw eDAxDQo+IC0jZGVmaW5lIFZJUlRJT19JRF9CTE9DSyAgICAweDAyDQo+IC0jZGVmaW5lIFZJUlRJ T19JRF9DT05TT0xFICAweDAzDQo+IC0jZGVmaW5lIFZJUlRJT19JRF9FTlRST1BZICAweDA0DQo+ IC0jZGVmaW5lIFZJUlRJT19JRF9CQUxMT09OICAweDA1DQo+IC0jZGVmaW5lIFZJUlRJT19JRF9J T01FTU9SWSAweDA2DQo+IC0jZGVmaW5lIFZJUlRJT19JRF85UCAgICAgICAweDA5DQo+IC0NCj4g LS8qIFN0YXR1cyBieXRlIGZvciBndWVzdCB0byByZXBvcnQgcHJvZ3Jlc3MuICovDQo+IC0jZGVm aW5lIFZJUlRJT19DT05GSUdfU1RBVFVTX1JFU0VUCQkweDAwDQo+IC0jZGVmaW5lIFZJUlRJT19D T05GSUdfU1RBVFVTX0FDSwkJMHgwMQ0KPiAtI2RlZmluZSBWSVJUSU9fQ09ORklHX1NUQVRVU19E UklWRVIJCTB4MDINCj4gLSNkZWZpbmUgVklSVElPX0NPTkZJR19TVEFUVVNfRFJJVkVSX09LCQkw eDA0DQo+IC0jZGVmaW5lIFZJUlRJT19DT05GSUdfU1RBVFVTX0ZFQVRVUkVTX09LCTB4MDgNCj4g LSNkZWZpbmUgVklSVElPX0NPTkZJR19TVEFUVVNfREVWX05FRURfUkVTRVQJMHg0MA0KPiAtI2Rl ZmluZSBWSVJUSU9fQ09ORklHX1NUQVRVU19GQUlMRUQJCTB4ODANCj4gLQ0KPiAtDQo+ICAvKiBD b21tb24gY29uZmlndXJhdGlvbiAqLw0KPiAgI2RlZmluZSBWSVJUSU9fUENJX0NBUF9DT01NT05f Q0ZHCTENCj4gIC8qIE5vdGlmaWNhdGlvbnMgKi8NCj4gQEAgLTEzNiwzMiArMTE3LDYgQEAgc3Ry dWN0IHZpcnRpb19wY2lfZGV2IHsNCj4gDQo+ICAjZGVmaW5lIHZpcnRpb19wY2lfZ2V0X2Rldiho dykgY29udGFpbmVyX29mKGh3LCBzdHJ1Y3QgdmlydGlvX3BjaV9kZXYsIGh3KQ0KPiANCj4gLS8q DQo+IC0gKiBUaGlzIHN0cnVjdHVyZSBpcyBqdXN0IGEgcmVmZXJlbmNlIHRvIHJlYWQNCj4gLSAq IG5ldCBkZXZpY2Ugc3BlY2lmaWMgY29uZmlnIHNwYWNlOyBpdCBqdXN0IGEgY2hvZHUgc3RydWN0 dXJlDQo+IC0gKg0KPiAtICovDQo+IC1zdHJ1Y3QgdmlydGlvX25ldF9jb25maWcgew0KPiAtCS8q IFRoZSBjb25maWcgZGVmaW5pbmcgbWFjIGFkZHJlc3MgKGlmIFZJUlRJT19ORVRfRl9NQUMpICov DQo+IC0JdWludDhfdCAgICBtYWNbUlRFX0VUSEVSX0FERFJfTEVOXTsNCj4gLQkvKiBTZWUgVklS VElPX05FVF9GX1NUQVRVUyBhbmQgVklSVElPX05FVF9TXyogYWJvdmUgKi8NCj4gLQl1aW50MTZf dCAgIHN0YXR1czsNCj4gLQl1aW50MTZfdCAgIG1heF92aXJ0cXVldWVfcGFpcnM7DQo+IC0JdWlu dDE2X3QgICBtdHU7DQo+IC0JLyoNCj4gLQkgKiBzcGVlZCwgaW4gdW5pdHMgb2YgMU1iLiBBbGwg dmFsdWVzIDAgdG8gSU5UX01BWCBhcmUgbGVnYWwuDQo+IC0JICogQW55IG90aGVyIHZhbHVlIHN0 YW5kcyBmb3IgdW5rbm93bi4NCj4gLQkgKi8NCj4gLQl1aW50MzJfdCBzcGVlZDsNCj4gLQkvKg0K PiAtCSAqIDB4MDAgLSBoYWxmIGR1cGxleA0KPiAtCSAqIDB4MDEgLSBmdWxsIGR1cGxleA0KPiAt CSAqIEFueSBvdGhlciB2YWx1ZSBzdGFuZHMgZm9yIHVua25vd24uDQo+IC0JICovDQo+IC0JdWlu dDhfdCBkdXBsZXg7DQo+IC0NCj4gLX0gX19ydGVfcGFja2VkOw0KPiAtDQo+ICAvKg0KPiAgICog SG93IG1hbnkgYml0cyB0byBzaGlmdCBwaHlzaWNhbCBxdWV1ZSBhZGRyZXNzIHdyaXR0ZW4gdG8g UVVFVUVfUEZOLg0KPiAgICogMTIgaXMgaGlzdG9yaWNhbCwgYW5kIGR1ZSB0byB4ODYgcGFnZSBz aXplLg0KPiBAQCAtMTgyLDE2ICsxMzcsNiBAQCBlbnVtIHZpcnRpb19tc2l4X3N0YXR1cyB7DQo+ ICAgKiBGdW5jdGlvbiBkZWNsYXJhdGlvbiBmcm9tIHZpcnRpb19wY2kuYw0KPiAgICovDQo+ICBp bnQgdnRwY2lfaW5pdChzdHJ1Y3QgcnRlX3BjaV9kZXZpY2UgKnBjaV9kZXYsIHN0cnVjdCB2aXJ0 aW9fcGNpX2RldiAqZGV2KTsNCj4gLXZvaWQgdnRwY2lfcmVzZXQoc3RydWN0IHZpcnRpb19odyAq KTsNCj4gLQ0KPiAtdm9pZCB2dHBjaV9yZWluaXRfY29tcGxldGUoc3RydWN0IHZpcnRpb19odyAq KTsNCj4gLQ0KPiAtdWludDhfdCB2dHBjaV9nZXRfc3RhdHVzKHN0cnVjdCB2aXJ0aW9faHcgKik7 DQo+IC12b2lkIHZ0cGNpX3NldF9zdGF0dXMoc3RydWN0IHZpcnRpb19odyAqLCB1aW50OF90KTsN Cj4gLQ0KPiAtdm9pZCB2dHBjaV93cml0ZV9kZXZfY29uZmlnKHN0cnVjdCB2aXJ0aW9faHcgKiwg c2l6ZV90LCBjb25zdCB2b2lkICosIGludCk7DQo+IC0NCj4gLXZvaWQgdnRwY2lfcmVhZF9kZXZf Y29uZmlnKHN0cnVjdCB2aXJ0aW9faHcgKiwgc2l6ZV90LCB2b2lkICosIGludCk7DQo+IA0KPiAg dWludDhfdCB2dHBjaV9pc3Ioc3RydWN0IHZpcnRpb19odyAqKTsNCj4gDQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXJfZXRoZGV2LmMNCj4gYi9kcml2ZXJzL25l dC92aXJ0aW8vdmlydGlvX3VzZXJfZXRoZGV2LmMNCj4gaW5kZXggZDA1NjEzYmEzYi4uMGYyNTJj MDczMiAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyX2V0aGRl di5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlcl9ldGhkZXYuYw0KPiBA QCAtNzcsMTMgKzc3LDEzIEBAIHZpcnRpb191c2VyX3NlcnZlcl9yZWNvbm5lY3Qoc3RydWN0IHZp cnRpb191c2VyX2RldiAqZGV2KQ0KPiAgCQlyZXR1cm4gLTE7DQo+IA0KPiAgCWRldi0+dmhvc3Rm ZCA9IGNvbm5lY3RmZDsNCj4gLQlvbGRfc3RhdHVzID0gdnRwY2lfZ2V0X3N0YXR1cyhodyk7DQo+ ICsJb2xkX3N0YXR1cyA9IHZpcnRpb19nZXRfc3RhdHVzKGh3KTsNCj4gDQo+IC0JdnRwY2lfcmVz ZXQoaHcpOw0KPiArCXZpcnRpb19yZXNldChodyk7DQo+IA0KPiAtCXZ0cGNpX3NldF9zdGF0dXMo aHcsIFZJUlRJT19DT05GSUdfU1RBVFVTX0FDSyk7DQo+ICsJdmlydGlvX3NldF9zdGF0dXMoaHcs IFZJUlRJT19DT05GSUdfU1RBVFVTX0FDSyk7DQo+IA0KPiAtCXZ0cGNpX3NldF9zdGF0dXMoaHcs IFZJUlRJT19DT05GSUdfU1RBVFVTX0RSSVZFUik7DQo+ICsJdmlydGlvX3NldF9zdGF0dXMoaHcs IFZJUlRJT19DT05GSUdfU1RBVFVTX0RSSVZFUik7DQo+IA0KPiAgCWlmIChkZXYtPm9wcy0+c2Vu ZF9yZXF1ZXN0KGRldiwgVkhPU1RfVVNFUl9HRVRfRkVBVFVSRVMsDQo+ICAJCQkJICAgJmRldi0+ ZGV2aWNlX2ZlYXR1cmVzKSA8IDApIHsNCj4gQEAgLTEyOSwxMCArMTI5LDEwIEBAIHZpcnRpb191 c2VyX3NlcnZlcl9yZWNvbm5lY3Qoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2KQ0KPiAgCQl2 aXJ0aW9fdXNlcl9yZXNldF9xdWV1ZXNfcGFja2VkKGV0aF9kZXYpOw0KPiAgCX0NCj4gDQo+IC0J dnRwY2lfc2V0X3N0YXR1cyhodywgVklSVElPX0NPTkZJR19TVEFUVVNfRkVBVFVSRVNfT0spOw0K PiArCXZpcnRpb19zZXRfc3RhdHVzKGh3LCBWSVJUSU9fQ09ORklHX1NUQVRVU19GRUFUVVJFU19P Syk7DQo+IA0KPiAgCS8qIFN0YXJ0IHRoZSBkZXZpY2UgKi8NCj4gLQl2dHBjaV9zZXRfc3RhdHVz KGh3LCBWSVJUSU9fQ09ORklHX1NUQVRVU19EUklWRVJfT0spOw0KPiArCXZpcnRpb19zZXRfc3Rh dHVzKGh3LCBWSVJUSU9fQ09ORklHX1NUQVRVU19EUklWRVJfT0spOw0KPiAgCWlmICghZGV2LT5z dGFydGVkKQ0KPiAgCQlyZXR1cm4gLTE7DQo+IA0KPiAtLQ0KPiAyLjI5LjINCg0KUmV2aWV3ZWQt Ynk6IENoZW5ibyBYaWEgPGNoZW5iby54aWFAaW50ZWwuY29tPg0K