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 40907A04B1; Tue, 6 Oct 2020 02:39:43 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 001312B8B; Tue, 6 Oct 2020 02:39:40 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id CC3CF2B82 for ; Tue, 6 Oct 2020 02:39:37 +0200 (CEST) IronPort-SDR: kRox0m81nWIcPFfhlrt3WL0zeawmlx/3Jmx78VkEmwK8jLPqCjg1Y0UGlbckQJYn2sjnd0IkJW 33xBFKeWD/Ng== X-IronPort-AV: E=McAfee;i="6000,8403,9765"; a="151977949" X-IronPort-AV: E=Sophos;i="5.77,341,1596524400"; d="scan'208";a="151977949" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga106.jf.intel.com with ESMTP; 05 Oct 2020 16:33:35 -0700 IronPort-SDR: fBZTe0j6+hW6twcmgdTBWDwlY7mr5CSAJBkOLVuG11/CQFSIzjuizQTypcsxHDH1L4i6lH8ly2 2yg8kgaQjIqg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,341,1596524400"; d="scan'208";a="296192529" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga007.fm.intel.com with ESMTP; 05 Oct 2020 15:22:31 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) 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.1713.5; Mon, 5 Oct 2020 15:20:14 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) 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.1713.5; Mon, 5 Oct 2020 15:20:13 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 5 Oct 2020 15:20:11 -0700 Received: from NAM04-BN3-obe.outbound.protection.outlook.com (104.47.46.56) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Mon, 5 Oct 2020 15:20:04 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iqdKuG2hWva+VjZa20y8JTLJR5XpUFJmkobUuIp6zN4P0K2V2Wfty0CIIGPpQgi8eU0gQSqLRBP7fI53lCfXjCp9g9zSu/sgxe+i7FM61CD69St2f7hF4+GfbdwDVyL2rL8cAK8kNKvx2DLW7R9J7DlcJ4qOwTaRir3COZjv3vQcBNGHyx7LK0HEqYYX5xjjzPRqBXEEJvxZsDREynGGeOVnbwQ9gutGmGMAhhw0HpRq20DgRa8EIcP3zSzGjxcCEC0d+KWoqTAnHd90Fby+A2MQDKfl7oNKKBeQGbd8yt8l+cFXzY+uZIJfIPlEt7TF+O5373LBDk9OUGMIKmqqbg== 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=61XwqfAiODPJcNXKTCuBnZiz/JhRy8BPu5Hi9H6W2CM=; b=mf7NMwzCi5t8yOlQ8wMlz9aFsIMGZLf+zxjGfp45u+/2M0CiA2xBFLwuy5cLTgh8rsid4hjhlsQ58r0CYw0sdiXqcQDewpvZx+P4zGzzKkYoA0+ONEHkOGVgSP8h2phCqkPHzIKg4A5+wluY75P0yw4M334ogg32lt2hp6oniuzw/AlP+WWlrFEpjKwkldRqkjOYQwbb9Ld9b9hYXKtntH0NQT762pUOo/flDU9XQR8kfkzNz2w8wIOse1Nzre2M1Ieeqp1uPPbtUgtTIVblSPbqsco30cnY8hKJRLDcJkHTuMIPTAqOAo8RSe+k5/ox6Jm15ef7OQqa/9nf7Dom7Q== 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=61XwqfAiODPJcNXKTCuBnZiz/JhRy8BPu5Hi9H6W2CM=; b=Ep8GZXbRPZrOiFP7wLoL/JemgN7zr69HitPiEqahqMvmCxMytplOQHDhWs5k/MfJmGdIIYIhTQBxhRC8J/ZdGjpcciXN/UmHFbReQr2SXyM61go0Dx4njK6scT8q8n5oYrRh/rYRhjr/jYJILPkw8oZKaS8O67aa0HjSAQBKyuU= Received: from BY5PR11MB4451.namprd11.prod.outlook.com (2603:10b6:a03:1cb::30) by BYAPR11MB2550.namprd11.prod.outlook.com (2603:10b6:a02:cc::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3433.43; Mon, 5 Oct 2020 22:19:55 +0000 Received: from BY5PR11MB4451.namprd11.prod.outlook.com ([fe80::4162:97e1:7d04:a508]) by BY5PR11MB4451.namprd11.prod.outlook.com ([fe80::4162:97e1:7d04:a508%7]) with mapi id 15.20.3433.044; Mon, 5 Oct 2020 22:19:54 +0000 From: "Chautru, Nicolas" To: Tom Rix , "dev@dpdk.org" , "akhil.goyal@nxp.com" CC: "Richardson, Bruce" , "Xu, Rosen" , "maxime.coquelin@redhat.com" , "Yigit, Ferruh" , "Liu, Tianjiao" Thread-Topic: [PATCH v11 03/10] baseband/acc100: add info get function Thread-Index: AQHWmFfYk/BxJ8g6pEi7zva673TKl6mHoNAAgAGXucCAAGF0sA== Date: Mon, 5 Oct 2020 22:19:54 +0000 Message-ID: References: <1597796731-57841-12-git-send-email-nicolas.chautru@intel.com> <1601600481-174133-1-git-send-email-nicolas.chautru@intel.com> <1601600481-174133-4-git-send-email-nicolas.chautru@intel.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.5.1.3 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: [45.28.143.88] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 812ac78a-fb58-419d-c621-08d8697cc979 x-ms-traffictypediagnostic: BYAPR11MB2550: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:294; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9uIFFZsgMXZWaDKP/bzA9BL8myV3VT6ZHojiESSSLjhVLro0kKo1vNbsMiA5BT+YHKrsGd8DfxEURj4HwDbqiqXzm0EtP4ja0UZHYEX2lFLufOx/gNIYGvUYLDdnPpx4AhECdfDywllhH4kKFzHMvz6dpq0qdkLdEr1YiyiAzfxP8oQ2nh8O5tTgIuX7HmVHVApVdPq7slMJUVn3uIlndhKChuTF8KN/60mDJYi7IxcN3+jpfZu0h4CWnTkvQpoPT9JohhDMWNDvUzkp+4Awq5to7pWb53ORsseLinrTnCREzMOQqNBlo20inh9NENEhDWOu6+QC39AHtqhgyYqzNQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR11MB4451.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(346002)(39860400002)(366004)(136003)(396003)(8676002)(76116006)(66946007)(7696005)(4326008)(66476007)(66446008)(64756008)(66556008)(2906002)(33656002)(316002)(52536014)(9686003)(53546011)(6506007)(5660300002)(186003)(26005)(55016002)(71200400001)(86362001)(110136005)(8936002)(54906003)(478600001)(30864003)(83380400001)(107886003)(2940100002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: pghAt6cpYFrgTv0UPlNhIkaDwMGrUgCNnb3EYctlZRc0XLotlG2iUb3q1p8eqXw4Cgy4sF7hPZvRVYuoaA4ZgB/4sD3ytA313yLGkvwonRj5i7HW5tAKMjkTqqNeTfP6WNQSi8VRczq4CHZZhHZS8SwOTJ47CYq+eWwc65+5CoVd+Y8sJxr9k5z0fke5Y4juIJEuQNKdlEKoWj7tcxApULYw4aVaTKOu6j6OkRDc2aeyoQ4AW7oQePeV/mkBns3A8XwNSFr0t9qlrqtMfx1sq/9VRXL5BhTUK04gu9BV+8PFhyTTpRsTMXm73SBpoh9WMVoMXagJsxD/KoN39aozqb+swJA4TvjS1lzZzOManZi1ZnQCy7N6kZ2tr8xN5W1Sta3R+ogD41sY5G6zOhNai9pc9pXIwdjxIsKdS8aXGiXjqZAh26WUJ79E78vNRAFKm/IUHQ3xFaUiN2tdrhwIwF54XmJrP+iSo9sVqnvAP90b6jQNJ2c8Gj6gzqVJhiQHmdXJiB8bBwBmWsF8CRSFUoZ+O8dcYLOFEdOiYmUcoP1ecytp9YcumUv6O5f63F2jwTRlWPGJJXXoXbyTuwJVG9zxouH+fiVQhiOdE3Rm79JnrXZ0whBUSq3zrIpBm/8xtDqFlAXW2JKIEX7eCKD+2g== 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: BY5PR11MB4451.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 812ac78a-fb58-419d-c621-08d8697cc979 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Oct 2020 22:19:54.8368 (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: /YmTKZ63Gam0oXEG9mRFweA9u+xXBJX3F+bgLSjsvZiO3hEyBlD6D1ItQeBUmRKmRCNjXhRKBvdaPCkBLcbnEIY+uILn7uAlA+EMkck57zE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB2550 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v11 03/10] baseband/acc100: add info get function 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" SGkgVG9tLCANCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBDaGF1dHJ1 LCBOaWNvbGFzDQo+IFNlbnQ6IE1vbmRheSwgT2N0b2JlciA1LCAyMDIwIDk6MzkgQU0NCj4gVG86 ICdUb20gUml4JyA8dHJpeEByZWRoYXQuY29tPjsgZGV2QGRwZGsub3JnOyBha2hpbC5nb3lhbEBu eHAuY29tDQo+IENjOiBSaWNoYXJkc29uLCBCcnVjZSA8YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5j b20+OyBYdSwgUm9zZW4NCj4gPHJvc2VuLnh1QGludGVsLmNvbT47IG1heGltZS5jb3F1ZWxpbkBy ZWRoYXQuY29tOyBZaWdpdCwgRmVycnVoDQo+IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsgTGl1 LCBUaWFuamlhbyA8VGlhbmppYW8uTGl1QGludGVsLmNvbT4NCj4gU3ViamVjdDogUkU6IFtQQVRD SCB2MTEgMDMvMTBdIGJhc2ViYW5kL2FjYzEwMDogYWRkIGluZm8gZ2V0IGZ1bmN0aW9uDQo+IA0K PiBIaSBUb20NCj4gDQo+ID4gRnJvbTogVG9tIFJpeCA8dHJpeEByZWRoYXQuY29tPj4NCj4gPg0K PiA+IE9uIDEwLzEvMjAgNjowMSBQTSwgTmljb2xhcyBDaGF1dHJ1IHdyb3RlOg0KPiA+ID4gQWRk IGluIHRoZSAiaW5mb19nZXQiIGZ1bmN0aW9uIHRvIHRoZSBkcml2ZXIsIHRvIGFsbG93IHVzIHRv IHF1ZXJ5DQo+ID4gPiB0aGUgZGV2aWNlLg0KPiA+ID4gTm8gcHJvY2Vzc2luZyBjYXBhYmlsaXR5 IGFyZSBhdmFpbGFibGUgeWV0Lg0KPiA+ID4gTGlua2luZyBiYmRldi10ZXN0IHRvIHN1cHBvcnQg dGhlIFBNRCB3aXRoIG51bGwgY2FwYWJpbGl0eS4NCj4gPiA+DQo+ID4gPiBTaWduZWQtb2ZmLWJ5 OiBOaWNvbGFzIENoYXV0cnUgPG5pY29sYXMuY2hhdXRydUBpbnRlbC5jb20+DQo+ID4gPiBBY2tl ZC1ieTogTGl1IFRpYW5qaWFvIDxUaWFuamlhby5saXVAaW50ZWwuY29tPg0KPiA+ID4gLS0tDQo+ ID4gPiAgYXBwL3Rlc3QtYmJkZXYvbWVzb24uYnVpbGQgICAgICAgICAgICAgICB8ICAgMyArDQo+ ID4gPiAgZHJpdmVycy9iYXNlYmFuZC9hY2MxMDAvcnRlX2FjYzEwMF9jZmcuaCB8ICA5NiArKysr KysrKysrKysrDQo+ID4gPiBkcml2ZXJzL2Jhc2ViYW5kL2FjYzEwMC9ydGVfYWNjMTAwX3BtZC5j IHwgMjI5DQo+ID4gPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ID4gPiBkcml2 ZXJzL2Jhc2ViYW5kL2FjYzEwMC9ydGVfYWNjMTAwX3BtZC5oIHwgIDEwICsrDQo+ID4gPiAgNCBm aWxlcyBjaGFuZ2VkLCAzMzggaW5zZXJ0aW9ucygrKQ0KPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0 NCBkcml2ZXJzL2Jhc2ViYW5kL2FjYzEwMC9ydGVfYWNjMTAwX2NmZy5oDQo+ID4gPg0KPiA+ID4g ZGlmZiAtLWdpdCBhL2FwcC90ZXN0LWJiZGV2L21lc29uLmJ1aWxkIGIvYXBwL3Rlc3QtYmJkZXYv bWVzb24uYnVpbGQNCj4gPiA+IGluZGV4IDE4YWI2YTguLmZiZDhhZTMgMTAwNjQ0DQo+ID4gPiAt LS0gYS9hcHAvdGVzdC1iYmRldi9tZXNvbi5idWlsZA0KPiA+ID4gKysrIGIvYXBwL3Rlc3QtYmJk ZXYvbWVzb24uYnVpbGQNCj4gPiA+IEBAIC0xMiwzICsxMiw2IEBAIGVuZGlmDQo+ID4gPiAgaWYg ZHBka19jb25mLmhhcygnUlRFX0xJQlJURV9QTURfQkJERVZfRlBHQV81R05SX0ZFQycpDQo+ID4g PiAgCWRlcHMgKz0gWydwbWRfYmJkZXZfZnBnYV81Z25yX2ZlYyddICBlbmRpZg0KPiA+ID4gK2lm IGRwZGtfY29uZi5oYXMoJ1JURV9MSUJSVEVfUE1EX0JCREVWX0FDQzEwMCcpDQo+ID4gPiArCWRl cHMgKz0gWydwbWRfYmJkZXZfYWNjMTAwJ10NCj4gPiA+ICtlbmRpZg0KPiA+ID4gXCBObyBuZXds aW5lIGF0IGVuZCBvZiBmaWxlDQo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9iYXNlYmFuZC9h Y2MxMDAvcnRlX2FjYzEwMF9jZmcuaA0KPiA+ID4gYi9kcml2ZXJzL2Jhc2ViYW5kL2FjYzEwMC9y dGVfYWNjMTAwX2NmZy5oDQo+ID4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+ID4gaW5kZXgg MDAwMDAwMC4uYTFkNDNlZg0KPiA+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ID4gKysrIGIvZHJpdmVy cy9iYXNlYmFuZC9hY2MxMDAvcnRlX2FjYzEwMF9jZmcuaA0KPiA+ID4gQEAgLTAsMCArMSw5NiBA QA0KPiA+ID4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UNCj4gPiA+ ICsgKiBDb3B5cmlnaHQoYykgMjAyMCBJbnRlbCBDb3Jwb3JhdGlvbiAgKi8NCj4gPiA+ICsNCj4g PiA+ICsjaWZuZGVmIF9SVEVfQUNDMTAwX0NGR19IXw0KPiA+ID4gKyNkZWZpbmUgX1JURV9BQ0Mx MDBfQ0ZHX0hfDQo+ID4gPiArDQo+ID4gPiArLyoqDQo+ID4gPiArICogQGZpbGUgcnRlX2FjYzEw MF9jZmcuaA0KPiA+ID4gKyAqDQo+ID4gPiArICogRnVuY3Rpb25zIGZvciBjb25maWd1cmluZyBB Q0MxMDAgSFcsIGV4cG9zZWQgZGlyZWN0bHkgdG8gYXBwbGljYXRpb25zLg0KPiA+ID4gKyAqIENv bmZpZ3VyYXRpb24gcmVsYXRlZCB0byBlbmNvZGluZy9kZWNvZGluZyBpcyBkb25lIHRocm91Z2gg dGhlDQo+ID4gPiArICogbGlicnRlX2JiZGV2IGxpYnJhcnkuDQo+ID4gPiArICoNCj4gPiA+ICsg KiBAd2FybmluZw0KPiA+ID4gKyAqIEBiIEVYUEVSSU1FTlRBTDogdGhpcyBBUEkgbWF5IGNoYW5n ZSB3aXRob3V0IHByaW9yIG5vdGljZSAgKi8NCj4gPiA+ICsNCj4gPiA+ICsjaW5jbHVkZSA8c3Rk aW50Lmg+DQo+ID4gPiArI2luY2x1ZGUgPHN0ZGJvb2wuaD4NCj4gPiA+ICsNCj4gPiA+ICsjaWZk ZWYgX19jcGx1c3BsdXMNCj4gPiA+ICtleHRlcm4gIkMiIHsNCj4gPiA+ICsjZW5kaWYNCj4gPiA+ ICsvKio8IE51bWJlciBvZiBWaXJ0dWFsIEZ1bmN0aW9ucyBBQ0MxMDAgc3VwcG9ydHMgKi8gI2Rl ZmluZQ0KPiA+ID4gK1JURV9BQ0MxMDBfTlVNX1ZGUyAxNg0KPiA+DQo+ID4gSSB3YXMgZXhwZWN0 aW5nIHRoZSBkZWZpbml0aW9uIG9mIFJURV9BQ0MxMDBfTlVNX1ZGUyB0byBiZSByZW1vdmVkLg0K PiA+DQo+ID4gQW5kIGl0cyB1c2VzIHJlcGxhY2VkIHdpdGggQUNDMTAwX05VTV9WRlMuDQo+ID4N Cj4gPiBvcg0KPiA+DQo+ID4gI2RlZmluZSBSVEVfQUNDMTAwX05VTV9WRlMgQUNDMTAwX05VTV9W RlMNCj4gPg0KPiANCj4gWWVzIGl0IHdhcyBhY3R1YWxseSBvbiBwdXJwb3NlIHRvIGtlZXAgdGhh dCBwaWVjZSBvZiBjb2RlIHBvcnRhYmxlIG91dHNpZGUgb2YNCj4gRFBESyBpZiByZXF1aXJlZC4N Cj4gT25lIGlzIHJlbGF0ZWQgdG8gdGhlIFBNRCBnZW5lcmljIGZ1bmN0aW9uLCB0aGUgb3RoZXIg b25lIGlzIHVzZWQgZm9yIHRoZQ0KPiBjb25maWd1cmF0aW9uIGZ1bmN0aW9uIG9ubHkuDQo+IElm IHlvdSBmZWVsIHN0cm9uZ2x5IGFib3V0IHRoaXMgSSBjb3VsZCBjaGFuZ2UuDQoNCkkgaGF2ZSBw dXNoZWQgdGhlIHYxMiBub3cuIE5vdGUgdGhhdCB0aGlzIGlzIGRvbmUgdGhlIHNhbWUgd2F5IGZv ciBvdGhlciBiYmRldiBkZXZpY2VzLiANCk9uZSBpcyBpbnRlcm5hbCB0byBQTUQgYW5kIHRoZSBv dGhlciBvbmUgaXMgb25seSByZXF1aXJlZCB0byBkbyB0aGUgY29uZmlndXJhdGlvbiBlaXRoZXIg aW4gYmJkZXYtdGVzdCBvciBvdGhlciBleHRlcm5hbCBwaWVjZSBvZiBjb2RlLiBIZW5jZSBrZXB0 IGFzIGlzIGluIHYxMiAob25seSBjaGFuZ2UgaW4gdjEyIGlzIGludmVydGluZyB0aGUgbG9naWMg dG8gcmVtb3ZlIHRoZSBicmVhayBhcyB5b3UgaGFkIHN1Z2dlc3RlZCkuDQpIb3BlZnVsbHkgdjEy IGlzIHRoZSBsYXN0IG9uZSENClRoYW5rcyBhZ2Fpbg0KTmljIA0KDQoNCj4gDQo+ID4gPiArDQo+ ID4gPiArLyoqDQo+ID4gPiArICogRGVmaW5pdGlvbiBvZiBRdWV1ZSBUb3BvbG9neSBmb3IgQUND MTAwIENvbmZpZ3VyYXRpb24NCj4gPiA+ICsgKiBTb21lIGxldmVsIG9mIGRldGFpbHMgaXMgYWJz dHJhY3RlZCBvdXQgdG8gZXhwb3NlIGEgY2xlYW4NCj4gPiA+ICtpbnRlcmZhY2UNCj4gPiA+ICsg KiBnaXZlbiB0aGF0IGNvbXByZWhlbnNpdmUgZmxleGliaWxpdHkgaXMgbm90IHJlcXVpcmVkICAq LyBzdHJ1Y3QNCj4gPiA+ICtydGVfYWNjMTAwX3F1ZXVlX3RvcG9sb2d5IHsNCj4gPiA+ICsJLyoq IE51bWJlciBvZiBRR3JvdXBzIGluIGluY3JlbWVudGFsIG9yZGVyIG9mIHByaW9yaXR5ICovDQo+ ID4gPiArCXVpbnQxNl90IG51bV9xZ3JvdXBzOw0KPiA+ID4gKwkvKioNCj4gPiA+ICsJICogQWxs IFFHcm91cHMgaGF2ZSB0aGUgc2FtZSBudW1iZXIgb2YgQVFzIGhlcmUuDQo+ID4gPiArCSAqIE5v dGUgOiBDb3VsZCBiZSBtYWRlIGEgMTYtYXJyYXkgaWYgbW9yZSBmbGV4aWJpbGl0eSBpcyByZWFs bHkNCj4gPiA+ICsJICogcmVxdWlyZWQNCj4gPiA+ICsJICovDQo+ID4gPiArCXVpbnQxNl90IG51 bV9hcXNfcGVyX2dyb3VwczsNCj4gPiA+ICsJLyoqDQo+ID4gPiArCSAqIERlcHRoIG9mIHRoZSBB UXMgaXMgdGhlIHNhbWUgb2YgYWxsIFFHcm91cHMgaGVyZS4gTG9nMiBFbnVtIDogMl5ODQo+ID4g PiArCSAqIE5vdGUgOiBDb3VsZCBiZSBtYWRlIGEgMTYtYXJyYXkgaWYgbW9yZSBmbGV4aWJpbGl0 eSBpcyByZWFsbHkNCj4gPiA+ICsJICogcmVxdWlyZWQNCj4gPiA+ICsJICovDQo+ID4gPiArCXVp bnQxNl90IGFxX2RlcHRoX2xvZzI7DQo+ID4gPiArCS8qKg0KPiA+ID4gKwkgKiBJbmRleCBvZiB0 aGUgZmlyc3QgUXVldWUgR3JvdXAgSW5kZXggLSBhc3N1bWluZyBjb250aWd1aXR5DQo+ID4gPiAr CSAqIEluaXRpYWxpemVkIGFzIC0xDQo+ID4gPiArCSAqLw0KPiA+ID4gKwlpbnQ4X3QgZmlyc3Rf cWdyb3VwX2luZGV4Ow0KPiA+ID4gK307DQo+ID4gPiArDQo+ID4gPiArLyoqDQo+ID4gPiArICog RGVmaW5pdGlvbiBvZiBBcmJpdHJhdGlvbiByZWxhdGVkIHBhcmFtZXRlcnMgZm9yIEFDQzEwMA0K PiA+ID4gK0NvbmZpZ3VyYXRpb24gICovIHN0cnVjdCBydGVfYWNjMTAwX2FyYml0cmF0aW9uIHsN Cj4gPiA+ICsJLyoqIERlZmF1bHQgV2VpZ2h0IGZvciBWRiBGYWlybmVzcyBBcmJpdHJhdGlvbiAq Lw0KPiA+ID4gKwl1aW50MTZfdCByb3VuZF9yb2Jpbl93ZWlnaHQ7DQo+ID4gPiArCXVpbnQzMl90 IGdicl90aHJlc2hvbGQxOyAvKio8IEd1YXJhbnRlZWQgQml0cmF0ZSBUaHJlc2hvbGQgMSAqLw0K PiA+ID4gKwl1aW50MzJfdCBnYnJfdGhyZXNob2xkMjsgLyoqPCBHdWFyYW50ZWVkIEJpdHJhdGUg VGhyZXNob2xkIDIgKi8gfTsNCj4gPiA+ICsNCj4gPiA+ICsvKioNCj4gPiA+ICsgKiBTdHJ1Y3R1 cmUgdG8gcGFzcyBBQ0MxMDAgY29uZmlndXJhdGlvbi4NCj4gPiA+ICsgKiBOb3RlOiBhbGwgVkYg QnVuZGxlcyB3aWxsIGhhdmUgdGhlIHNhbWUgY29uZmlndXJhdGlvbi4NCj4gPiA+ICsgKi8NCj4g PiA+ICtzdHJ1Y3QgcnRlX2FjYzEwMF9jb25mIHsNCj4gPiA+ICsJYm9vbCBwZl9tb2RlX2VuOyAv Kio8IDEgaWYgUEYgaXMgdXNlZCBmb3IgZGF0YXBsYW5lLCAwIGZvciBWRnMgKi8NCj4gPiA+ICsJ LyoqIDEgaWYgaW5wdXQgJzEnIGJpdCBpcyByZXByZXNlbnRlZCBieSBhIHBvc2l0aXZlIExMUiB2 YWx1ZSwgMCBpZiAnMScNCj4gPiA+ICsJICogYml0IGlzIHJlcHJlc2VudGVkIGJ5IGEgbmVnYXRp dmUgdmFsdWUuDQo+ID4gPiArCSAqLw0KPiA+ID4gKwlib29sIGlucHV0X3Bvc19sbHJfMV9iaXQ7 DQo+ID4gPiArCS8qKiAxIGlmIG91dHB1dCAnMScgYml0IGlzIHJlcHJlc2VudGVkIGJ5IGEgcG9z aXRpdmUgdmFsdWUsIDAgaWYgJzEnDQo+ID4gPiArCSAqIGJpdCBpcyByZXByZXNlbnRlZCBieSBh IG5lZ2F0aXZlIHZhbHVlLg0KPiA+ID4gKwkgKi8NCj4gPiA+ICsJYm9vbCBvdXRwdXRfcG9zX2xs cl8xX2JpdDsNCj4gPiA+ICsJdWludDE2X3QgbnVtX3ZmX2J1bmRsZXM7IC8qKjwgTnVtYmVyIG9m IFZGIGJ1bmRsZXMgdG8gc2V0dXAgKi8NCj4gPiA+ICsJLyoqIFF1ZXVlIHRvcG9sb2d5IGZvciBl YWNoIG9wZXJhdGlvbiB0eXBlICovDQo+ID4gPiArCXN0cnVjdCBydGVfYWNjMTAwX3F1ZXVlX3Rv cG9sb2d5IHFfdWxfNGc7DQo+ID4gPiArCXN0cnVjdCBydGVfYWNjMTAwX3F1ZXVlX3RvcG9sb2d5 IHFfZGxfNGc7DQo+ID4gPiArCXN0cnVjdCBydGVfYWNjMTAwX3F1ZXVlX3RvcG9sb2d5IHFfdWxf NWc7DQo+ID4gPiArCXN0cnVjdCBydGVfYWNjMTAwX3F1ZXVlX3RvcG9sb2d5IHFfZGxfNWc7DQo+ ID4gPiArCS8qKiBBcmJpdHJhdGlvbiBjb25maWd1cmF0aW9uIGZvciBlYWNoIG9wZXJhdGlvbiB0 eXBlICovDQo+ID4gPiArCXN0cnVjdCBydGVfYWNjMTAwX2FyYml0cmF0aW9uIGFyYl91bF80Z1tS VEVfQUNDMTAwX05VTV9WRlNdOw0KPiA+ID4gKwlzdHJ1Y3QgcnRlX2FjYzEwMF9hcmJpdHJhdGlv biBhcmJfZGxfNGdbUlRFX0FDQzEwMF9OVU1fVkZTXTsNCj4gPiA+ICsJc3RydWN0IHJ0ZV9hY2Mx MDBfYXJiaXRyYXRpb24gYXJiX3VsXzVnW1JURV9BQ0MxMDBfTlVNX1ZGU107DQo+ID4gPiArCXN0 cnVjdCBydGVfYWNjMTAwX2FyYml0cmF0aW9uIGFyYl9kbF81Z1tSVEVfQUNDMTAwX05VTV9WRlNd OyB9Ow0KPiA+ID4gKw0KPiA+ID4gKyNpZmRlZiBfX2NwbHVzcGx1cw0KPiA+ID4gK30NCj4gPiA+ ICsjZW5kaWYNCj4gPiA+ICsNCj4gPiA+ICsjZW5kaWYgLyogX1JURV9BQ0MxMDBfQ0ZHX0hfICov DQo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9iYXNlYmFuZC9hY2MxMDAvcnRlX2FjYzEwMF9w bWQuYw0KPiA+ID4gYi9kcml2ZXJzL2Jhc2ViYW5kL2FjYzEwMC9ydGVfYWNjMTAwX3BtZC5jDQo+ ID4gPiBpbmRleCAxYjRjZDEzLi5mY2JhNzdlIDEwMDY0NA0KPiA+ID4gLS0tIGEvZHJpdmVycy9i YXNlYmFuZC9hY2MxMDAvcnRlX2FjYzEwMF9wbWQuYw0KPiA+ID4gKysrIGIvZHJpdmVycy9iYXNl YmFuZC9hY2MxMDAvcnRlX2FjYzEwMF9wbWQuYw0KPiA+ID4gQEAgLTI2LDYgKzI2LDE4OCBAQA0K PiA+ID4gIFJURV9MT0dfUkVHSVNURVIoYWNjMTAwX2xvZ3R5cGUsIHBtZC5iYi5hY2MxMDAsIE5P VElDRSk7ICAjZW5kaWYNCj4gPiA+DQo+ID4gPiArLyogUmVhZCBhIHJlZ2lzdGVyIG9mIGEgQUND MTAwIGRldmljZSAqLyBzdGF0aWMgaW5saW5lIHVpbnQzMl90DQo+ID4gPiArYWNjMTAwX3JlZ19y ZWFkKHN0cnVjdCBhY2MxMDBfZGV2aWNlICpkLCB1aW50MzJfdCBvZmZzZXQpIHsNCj4gPiA+ICsN Cj4gPiA+ICsJdm9pZCAqcmVnX2FkZHIgPSBSVEVfUFRSX0FERChkLT5tbWlvX2Jhc2UsIG9mZnNl dCk7DQo+ID4gPiArCXVpbnQzMl90IHJldCA9ICooKHZvbGF0aWxlIHVpbnQzMl90ICopKHJlZ19h ZGRyKSk7DQo+ID4gPiArCXJldHVybiBydGVfbGVfdG9fY3B1XzMyKHJldCk7DQo+ID4gPiArfQ0K PiA+ID4gKw0KPiA+ID4gKy8qIENhbGN1bGF0ZSB0aGUgb2Zmc2V0IG9mIHRoZSBlbnF1ZXVlIHJl Z2lzdGVyICovIHN0YXRpYyBpbmxpbmUNCj4gPiA+ICt1aW50MzJfdCBxdWV1ZV9vZmZzZXQoYm9v bCBwZl9kZXZpY2UsIHVpbnQ4X3QgdmZfaWQsIHVpbnQ4X3QNCj4gPiA+ICtxZ3JwX2lkLCB1aW50 MTZfdCBhcV9pZCkgew0KPiA+ID4gKwlpZiAocGZfZGV2aWNlKQ0KPiA+ID4gKwkJcmV0dXJuICgo dmZfaWQgPDwgMTIpICsgKHFncnBfaWQgPDwgNykgKyAoYXFfaWQgPDwgMykgKw0KPiA+ID4gKwkJ CQlIV1BmUW1nckluZ3Jlc3NBcSk7DQo+ID4gPiArCWVsc2UNCj4gPiA+ICsJCXJldHVybiAoKHFn cnBfaWQgPDwgNykgKyAoYXFfaWQgPDwgMykgKw0KPiA+ID4gKwkJCQlIV1ZmUW1nckluZ3Jlc3NB cSk7DQo+ID4gPiArfQ0KPiA+ID4gKw0KPiA+ID4gK2VudW0ge1VMXzRHID0gMCwgVUxfNUcsIERM XzRHLCBETF81RywgTlVNX0FDQ307DQo+ID4gPiArDQo+ID4gPiArLyogUmV0dXJuIHRoZSBxdWV1 ZSB0b3BvbG9neSBmb3IgYSBRdWV1ZSBHcm91cCBJbmRleCAqLyBzdGF0aWMNCj4gPiA+ICtpbmxp bmUgdm9pZCBxdG9wRnJvbUFjYyhzdHJ1Y3QgcnRlX2FjYzEwMF9xdWV1ZV90b3BvbG9neSAqKnF0 b3AsDQo+ID4gPiAraW50IGFjY19lbnVtLA0KPiA+ID4gKwkJc3RydWN0IHJ0ZV9hY2MxMDBfY29u ZiAqYWNjMTAwX2NvbmYpIHsNCj4gPiA+ICsJc3RydWN0IHJ0ZV9hY2MxMDBfcXVldWVfdG9wb2xv Z3kgKnBfcXRvcDsNCj4gPiA+ICsJcF9xdG9wID0gTlVMTDsNCj4gPiA+ICsJc3dpdGNoIChhY2Nf ZW51bSkgew0KPiA+ID4gKwljYXNlIFVMXzRHOg0KPiA+ID4gKwkJcF9xdG9wID0gJihhY2MxMDBf Y29uZi0+cV91bF80Zyk7DQo+ID4gPiArCQlicmVhazsNCj4gPiA+ICsJY2FzZSBVTF81RzoNCj4g PiA+ICsJCXBfcXRvcCA9ICYoYWNjMTAwX2NvbmYtPnFfdWxfNWcpOw0KPiA+ID4gKwkJYnJlYWs7 DQo+ID4gPiArCWNhc2UgRExfNEc6DQo+ID4gPiArCQlwX3F0b3AgPSAmKGFjYzEwMF9jb25mLT5x X2RsXzRnKTsNCj4gPiA+ICsJCWJyZWFrOw0KPiA+ID4gKwljYXNlIERMXzVHOg0KPiA+ID4gKwkJ cF9xdG9wID0gJihhY2MxMDBfY29uZi0+cV9kbF81Zyk7DQo+ID4gPiArCQlicmVhazsNCj4gPiA+ ICsJZGVmYXVsdDoNCj4gPiA+ICsJCS8qIE5PVFJFQUNIRUQgKi8NCj4gPiA+ICsJCXJ0ZV9iYmRl dl9sb2coRVJSLCAiVW5leHBlY3RlZCBlcnJvciBldmFsdWF0aW5nDQo+ID4gcXRvcEZyb21BY2Mi KTsNCj4gPiA+ICsJCWJyZWFrOw0KPiA+ID4gKwl9DQo+ID4gPiArCSpxdG9wID0gcF9xdG9wOw0K PiA+ID4gK30NCj4gPiA+ICsNCj4gPiA+ICtzdGF0aWMgdm9pZA0KPiA+ID4gK2luaXRRVG9wKHN0 cnVjdCBydGVfYWNjMTAwX2NvbmYgKmFjYzEwMF9jb25mKSB7DQo+ID4gPiArCWFjYzEwMF9jb25m LT5xX3VsXzRnLm51bV9hcXNfcGVyX2dyb3VwcyA9IDA7DQo+ID4gPiArCWFjYzEwMF9jb25mLT5x X3VsXzRnLm51bV9xZ3JvdXBzID0gMDsNCj4gPiA+ICsJYWNjMTAwX2NvbmYtPnFfdWxfNGcuZmly c3RfcWdyb3VwX2luZGV4ID0gLTE7DQo+ID4gPiArCWFjYzEwMF9jb25mLT5xX3VsXzVnLm51bV9h cXNfcGVyX2dyb3VwcyA9IDA7DQo+ID4gPiArCWFjYzEwMF9jb25mLT5xX3VsXzVnLm51bV9xZ3Jv dXBzID0gMDsNCj4gPiA+ICsJYWNjMTAwX2NvbmYtPnFfdWxfNWcuZmlyc3RfcWdyb3VwX2luZGV4 ID0gLTE7DQo+ID4gPiArCWFjYzEwMF9jb25mLT5xX2RsXzRnLm51bV9hcXNfcGVyX2dyb3VwcyA9 IDA7DQo+ID4gPiArCWFjYzEwMF9jb25mLT5xX2RsXzRnLm51bV9xZ3JvdXBzID0gMDsNCj4gPiA+ ICsJYWNjMTAwX2NvbmYtPnFfZGxfNGcuZmlyc3RfcWdyb3VwX2luZGV4ID0gLTE7DQo+ID4gPiAr CWFjYzEwMF9jb25mLT5xX2RsXzVnLm51bV9hcXNfcGVyX2dyb3VwcyA9IDA7DQo+ID4gPiArCWFj YzEwMF9jb25mLT5xX2RsXzVnLm51bV9xZ3JvdXBzID0gMDsNCj4gPiA+ICsJYWNjMTAwX2NvbmYt PnFfZGxfNWcuZmlyc3RfcWdyb3VwX2luZGV4ID0gLTE7IH0NCj4gPiA+ICsNCj4gPiA+ICtzdGF0 aWMgaW5saW5lIHZvaWQNCj4gPiA+ICt1cGRhdGVRdG9wKHVpbnQ4X3QgYWNjLCB1aW50OF90IHFn LCBzdHJ1Y3QgcnRlX2FjYzEwMF9jb25mDQo+ID4gKmFjYzEwMF9jb25mLA0KPiA+ID4gKwkJc3Ry dWN0IGFjYzEwMF9kZXZpY2UgKmQpIHsNCj4gPiA+ICsJdWludDMyX3QgcmVnOw0KPiA+ID4gKwlz dHJ1Y3QgcnRlX2FjYzEwMF9xdWV1ZV90b3BvbG9neSAqcV90b3AgPSBOVUxMOw0KPiA+ID4gKwlx dG9wRnJvbUFjYygmcV90b3AsIGFjYywgYWNjMTAwX2NvbmYpOw0KPiA+ID4gKwlpZiAodW5saWtl bHkocV90b3AgPT0gTlVMTCkpDQo+ID4gPiArCQlyZXR1cm47DQo+ID4gPiArCXVpbnQxNl90IGFx Ow0KPiA+ID4gKwlxX3RvcC0+bnVtX3Fncm91cHMrKzsNCj4gPiA+ICsJaWYgKHFfdG9wLT5maXJz dF9xZ3JvdXBfaW5kZXggPT0gLTEpIHsNCj4gPiA+ICsJCXFfdG9wLT5maXJzdF9xZ3JvdXBfaW5k ZXggPSBxZzsNCj4gPiA+ICsJCS8qIENhbiBiZSBvcHRpbWl6ZWQgdG8gYXNzdW1lIGFsbCBhcmUg ZW5hYmxlZCBieSBkZWZhdWx0ICovDQo+ID4gPiArCQlyZWcgPSBhY2MxMDBfcmVnX3JlYWQoZCwg cXVldWVfb2Zmc2V0KGQtPnBmX2RldmljZSwNCj4gPiA+ICsJCQkJMCwgcWcsIEFDQzEwMF9OVU1f QVFTIC0gMSkpOw0KPiA+ID4gKwkJaWYgKHJlZyAmIEFDQzEwMF9RVUVVRV9FTkFCTEUpIHsNCj4g PiA+ICsJCQlxX3RvcC0+bnVtX2Fxc19wZXJfZ3JvdXBzID0gQUNDMTAwX05VTV9BUVM7DQo+ID4g PiArCQkJcmV0dXJuOw0KPiA+ID4gKwkJfQ0KPiA+ID4gKwkJcV90b3AtPm51bV9hcXNfcGVyX2dy b3VwcyA9IDA7DQo+ID4gPiArCQlmb3IgKGFxID0gMDsgYXEgPCBBQ0MxMDBfTlVNX0FRUzsgYXEr Kykgew0KPiA+ID4gKwkJCXJlZyA9IGFjYzEwMF9yZWdfcmVhZChkLCBxdWV1ZV9vZmZzZXQoZC0N Cj4gPiA+cGZfZGV2aWNlLA0KPiA+ID4gKwkJCQkJMCwgcWcsIGFxKSk7DQo+ID4gPiArCQkJaWYg KHJlZyAmIEFDQzEwMF9RVUVVRV9FTkFCTEUpDQo+ID4gPiArCQkJCXFfdG9wLT5udW1fYXFzX3Bl cl9ncm91cHMrKzsNCj4gPiA+ICsJCX0NCj4gPiA+ICsJfQ0KPiA+ID4gK30NCj4gPiA+ICsNCj4g PiA+ICsvKiBGZXRjaCBjb25maWd1cmF0aW9uIGVuYWJsZWQgZm9yIHRoZSBQRi9WRiB1c2luZyBN TUlPIFJlYWQgKHNsb3cpDQo+ID4gPiArKi8gc3RhdGljIGlubGluZSB2b2lkIGZldGNoX2FjYzEw MF9jb25maWcoc3RydWN0IHJ0ZV9iYmRldiAqZGV2KSB7DQo+ID4gPiArCXN0cnVjdCBhY2MxMDBf ZGV2aWNlICpkID0gZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZTsNCj4gPiA+ICsJc3RydWN0IHJ0ZV9h Y2MxMDBfY29uZiAqYWNjMTAwX2NvbmYgPSAmZC0+YWNjMTAwX2NvbmY7DQo+ID4gPiArCWNvbnN0 IHN0cnVjdCBhY2MxMDBfcmVnaXN0cnlfYWRkciAqcmVnX2FkZHI7DQo+ID4gPiArCXVpbnQ4X3Qg YWNjLCBxZzsNCj4gPiA+ICsJdWludDMyX3QgcmVnLCByZWdfYXEsIHJlZ19sZW4wLCByZWdfbGVu MTsNCj4gPiA+ICsJdWludDMyX3QgcmVnX21vZGU7DQo+ID4gPiArDQo+ID4gPiArCS8qIE5vIG5l ZWQgdG8gcmV0cmlldmUgdGhlIGNvbmZpZ3VyYXRpb24gaXMgYWxyZWFkeSBkb25lICovDQo+ID4g PiArCWlmIChkLT5jb25maWd1cmVkKQ0KPiA+ID4gKwkJcmV0dXJuOw0KPiA+ID4gKw0KPiA+ID4g KwkvKiBDaG9vc2UgY29ycmVjdCByZWdpc3RyeSBhZGRyZXNzZXMgZm9yIHRoZSBkZXZpY2UgdHlw ZSAqLw0KPiA+ID4gKwlpZiAoZC0+cGZfZGV2aWNlKQ0KPiA+ID4gKwkJcmVnX2FkZHIgPSAmcGZf cmVnX2FkZHI7DQo+ID4gPiArCWVsc2UNCj4gPiA+ICsJCXJlZ19hZGRyID0gJnZmX3JlZ19hZGRy Ow0KPiA+ID4gKw0KPiA+ID4gKwlkLT5kZHJfc2l6ZSA9ICgxICsgYWNjMTAwX3JlZ19yZWFkKGQs IHJlZ19hZGRyLT5kZHJfcmFuZ2UpKSA8PCAxMDsNCj4gPiA+ICsNCj4gPiA+ICsJLyogU2luZ2xl IFZGIEJ1bmRsZSBieSBWRiAqLw0KPiA+ID4gKwlhY2MxMDBfY29uZi0+bnVtX3ZmX2J1bmRsZXMg PSAxOw0KPiA+ID4gKwlpbml0UVRvcChhY2MxMDBfY29uZik7DQo+ID4gPiArDQo+ID4gPiArCXN0 cnVjdCBydGVfYWNjMTAwX3F1ZXVlX3RvcG9sb2d5ICpxX3RvcCA9IE5VTEw7DQo+ID4gPiArCWlu dCBxbWFuX2Z1bmNfaWRbQUNDMTAwX05VTV9BQ0NTXSA9IHtBQ0MxMDBfQUNDTUFQXzAsDQo+ID4g QUNDMTAwX0FDQ01BUF8xLA0KPiA+ID4gKwkJCUFDQzEwMF9BQ0NNQVBfMiwgQUNDMTAwX0FDQ01B UF8zLA0KPiA+IEFDQzEwMF9BQ0NNQVBfNH07DQo+ID4gPiArCXJlZyA9IGFjYzEwMF9yZWdfcmVh ZChkLCByZWdfYWRkci0+cW1hbl9ncm91cF9mdW5jKTsNCj4gPiA+ICsJZm9yIChxZyA9IDA7IHFn IDwgQUNDMTAwX05VTV9RR1JQU19QRVJfV09SRDsgcWcrKykgew0KPiA+ID4gKwkJcmVnX2FxID0g YWNjMTAwX3JlZ19yZWFkKGQsDQo+ID4gPiArCQkJCXF1ZXVlX29mZnNldChkLT5wZl9kZXZpY2Us IDAsIHFnLCAwKSk7DQo+ID4gPiArCQlpZiAocmVnX2FxICYgQUNDMTAwX1FVRVVFX0VOQUJMRSkg ew0KPiA+ID4gKwkJCXVpbnQzMl90IGlkeCA9IChyZWcgPj4gKHFnICogNCkpICYgMHg3Ow0KPiA+ ID4gKwkJCWlmIChpZHggPj0gQUNDMTAwX05VTV9BQ0NTKQ0KPiA+ID4gKwkJCQlicmVhazsNCj4g Pg0KPiA+IGEgJ2NvbnRpbnVlJyB3b3VsZCBiZSBiZXR0ZXINCj4gPg0KPiA+IG9yIHJldmVyc2Ug dGhlIGNoZWNrDQo+ID4NCj4gPiBpZiAoaWR4IDwgQUNDMTAwX05VTV9BQ0NTKSB7DQo+ID4NCj4g PiDCoMKgwqAgYWNjID0gcW1hbl9mdW5jX2lkIC4uDQo+ID4NCj4gPiB9DQo+IA0KPiBJIGNhbiBj aGFuZ2UuDQo+IFBsZWFzZSBjb25maXJtIHdoYXQgeW91IHRoaW5rIG9uIHRoZSBwcmV2aW91cyBv bmUuIEkgd291bGQgdG8gZ2V0IGZpbmFsIGJ5DQo+IHRvbW9ycm93IGxhdGVzdC4NCj4gDQo+IFRo YW5rcw0KPiBOaWMNCj4gDQo+IA0KPiA+DQo+ID4gVG9tDQo+ID4NCj4gPiA+ICsJCQlhY2MgPSBx bWFuX2Z1bmNfaWRbaWR4XTsNCj4gPiA+ICsJCQl1cGRhdGVRdG9wKGFjYywgcWcsIGFjYzEwMF9j b25mLCBkKTsNCj4gPiA+ICsJCX0NCj4gPiA+ICsJfQ0KPiA+ID4gKw0KPiA+ID4gKwkvKiBDaGVj ayB0aGUgZGVwdGggb2YgdGhlIEFRcyovDQo+ID4gPiArCXJlZ19sZW4wID0gYWNjMTAwX3JlZ19y ZWFkKGQsIHJlZ19hZGRyLT5kZXB0aF9sb2cwX29mZnNldCk7DQo+ID4gPiArCXJlZ19sZW4xID0g YWNjMTAwX3JlZ19yZWFkKGQsIHJlZ19hZGRyLT5kZXB0aF9sb2cxX29mZnNldCk7DQo+ID4gPiAr CWZvciAoYWNjID0gMDsgYWNjIDwgTlVNX0FDQzsgYWNjKyspIHsNCj4gPiA+ICsJCXF0b3BGcm9t QWNjKCZxX3RvcCwgYWNjLCBhY2MxMDBfY29uZik7DQo+ID4gPiArCQlpZiAocV90b3AtPmZpcnN0 X3Fncm91cF9pbmRleCA8DQo+ID4gQUNDMTAwX05VTV9RR1JQU19QRVJfV09SRCkNCj4gPiA+ICsJ CQlxX3RvcC0+YXFfZGVwdGhfbG9nMiA9IChyZWdfbGVuMCA+Pg0KPiA+ID4gKwkJCQkJKHFfdG9w LT5maXJzdF9xZ3JvdXBfaW5kZXggKiA0KSkNCj4gPiA+ICsJCQkJCSYgMHhGOw0KPiA+ID4gKwkJ ZWxzZQ0KPiA+ID4gKwkJCXFfdG9wLT5hcV9kZXB0aF9sb2cyID0gKHJlZ19sZW4xID4+DQo+ID4g PiArCQkJCQkoKHFfdG9wLT5maXJzdF9xZ3JvdXBfaW5kZXggLQ0KPiA+ID4gKwkJCQkJQUNDMTAw X05VTV9RR1JQU19QRVJfV09SRCkgKg0KPiA+IDQpKQ0KPiA+ID4gKwkJCQkJJiAweEY7DQo+ID4g PiArCX0NCj4gPiA+ICsNCj4gPiA+ICsJLyogUmVhZCBQRiBtb2RlICovDQo+ID4gPiArCWlmIChk LT5wZl9kZXZpY2UpIHsNCj4gPiA+ICsJCXJlZ19tb2RlID0gYWNjMTAwX3JlZ19yZWFkKGQsIEhX UGZIaVBmTW9kZSk7DQo+ID4gPiArCQlhY2MxMDBfY29uZi0+cGZfbW9kZV9lbiA9IChyZWdfbW9k ZSA9PSBBQ0MxMDBfUEZfVkFMKQ0KPiA+ID8gMSA6IDA7DQo+ID4gPiArCX0NCj4gPiA+ICsNCj4g PiA+ICsJcnRlX2JiZGV2X2xvZ19kZWJ1ZygNCj4gPiA+ICsJCQkiJXMgQ29uZmlnIExMUiBTSUdO IElOL09VVCAlcyAlcyBRRyAldSAldSAldSAldQ0KPiA+IEFRICV1ICV1ICV1ICV1IExlbiAldSAl dSAldSAldVxuIiwNCj4gPiA+ICsJCQkoZC0+cGZfZGV2aWNlKSA/ICJQRiIgOiAiVkYiLA0KPiA+ ID4gKwkJCShhY2MxMDBfY29uZi0+aW5wdXRfcG9zX2xscl8xX2JpdCkgPyAiUE9TIiA6ICJORUci LA0KPiA+ID4gKwkJCShhY2MxMDBfY29uZi0+b3V0cHV0X3Bvc19sbHJfMV9iaXQpID8gIlBPUyIg Og0KPiA+ICJORUciLA0KPiA+ID4gKwkJCWFjYzEwMF9jb25mLT5xX3VsXzRnLm51bV9xZ3JvdXBz LA0KPiA+ID4gKwkJCWFjYzEwMF9jb25mLT5xX2RsXzRnLm51bV9xZ3JvdXBzLA0KPiA+ID4gKwkJ CWFjYzEwMF9jb25mLT5xX3VsXzVnLm51bV9xZ3JvdXBzLA0KPiA+ID4gKwkJCWFjYzEwMF9jb25m LT5xX2RsXzVnLm51bV9xZ3JvdXBzLA0KPiA+ID4gKwkJCWFjYzEwMF9jb25mLT5xX3VsXzRnLm51 bV9hcXNfcGVyX2dyb3VwcywNCj4gPiA+ICsJCQlhY2MxMDBfY29uZi0+cV9kbF80Zy5udW1fYXFz X3Blcl9ncm91cHMsDQo+ID4gPiArCQkJYWNjMTAwX2NvbmYtPnFfdWxfNWcubnVtX2Fxc19wZXJf Z3JvdXBzLA0KPiA+ID4gKwkJCWFjYzEwMF9jb25mLT5xX2RsXzVnLm51bV9hcXNfcGVyX2dyb3Vw cywNCj4gPiA+ICsJCQlhY2MxMDBfY29uZi0+cV91bF80Zy5hcV9kZXB0aF9sb2cyLA0KPiA+ID4g KwkJCWFjYzEwMF9jb25mLT5xX2RsXzRnLmFxX2RlcHRoX2xvZzIsDQo+ID4gPiArCQkJYWNjMTAw X2NvbmYtPnFfdWxfNWcuYXFfZGVwdGhfbG9nMiwNCj4gPiA+ICsJCQlhY2MxMDBfY29uZi0+cV9k bF81Zy5hcV9kZXB0aF9sb2cyKTsNCj4gPiA+ICt9DQo+ID4gPiArDQo+ID4gPiAgLyogRnJlZSA2 NE1CIG1lbW9yeSB1c2VkIGZvciBzb2Z0d2FyZSByaW5ncyAqLyAgc3RhdGljIGludA0KPiA+ID4g YWNjMTAwX2Rldl9jbG9zZShzdHJ1Y3QgcnRlX2JiZGV2ICpkZXYgIF9fcnRlX3VudXNlZCkgQEAg LTMzLDgNCj4gPiArMjE1LDU1DQo+ID4gPiBAQA0KPiA+ID4gIAlyZXR1cm4gMDsNCj4gPiA+ICB9 DQo+ID4gPg0KPiA+ID4gKy8qIEdldCBBQ0MxMDAgZGV2aWNlIGluZm8gKi8NCj4gPiA+ICtzdGF0 aWMgdm9pZA0KPiA+ID4gK2FjYzEwMF9kZXZfaW5mb19nZXQoc3RydWN0IHJ0ZV9iYmRldiAqZGV2 LA0KPiA+ID4gKwkJc3RydWN0IHJ0ZV9iYmRldl9kcml2ZXJfaW5mbyAqZGV2X2luZm8pIHsNCj4g PiA+ICsJc3RydWN0IGFjYzEwMF9kZXZpY2UgKmQgPSBkZXYtPmRhdGEtPmRldl9wcml2YXRlOw0K PiA+ID4gKw0KPiA+ID4gKwlzdGF0aWMgY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgYmJk ZXZfY2FwYWJpbGl0aWVzW10gPSB7DQo+ID4gPiArCQlSVEVfQkJERVZfRU5EX09GX0NBUEFCSUxJ VElFU19MSVNUKCkNCj4gPiA+ICsJfTsNCj4gPiA+ICsNCj4gPiA+ICsJc3RhdGljIHN0cnVjdCBy dGVfYmJkZXZfcXVldWVfY29uZiBkZWZhdWx0X3F1ZXVlX2NvbmY7DQo+ID4gPiArCWRlZmF1bHRf cXVldWVfY29uZi5zb2NrZXQgPSBkZXYtPmRhdGEtPnNvY2tldF9pZDsNCj4gPiA+ICsJZGVmYXVs dF9xdWV1ZV9jb25mLnF1ZXVlX3NpemUgPSBBQ0MxMDBfTUFYX1FVRVVFX0RFUFRIOw0KPiA+ID4g Kw0KPiA+ID4gKwlkZXZfaW5mby0+ZHJpdmVyX25hbWUgPSBkZXYtPmRldmljZS0+ZHJpdmVyLT5u YW1lOw0KPiA+ID4gKw0KPiA+ID4gKwkvKiBSZWFkIGFuZCBzYXZlIHRoZSBwb3B1bGF0ZWQgY29u ZmlnIGZyb20gQUNDMTAwIHJlZ2lzdGVycyAqLw0KPiA+ID4gKwlmZXRjaF9hY2MxMDBfY29uZmln KGRldik7DQo+ID4gPiArDQo+ID4gPiArCS8qIFRoaXMgaXNuJ3QgaWRlYWwgYmVjYXVzZSBpdCBy ZXBvcnRzIHRoZSBtYXhpbXVtIG51bWJlciBvZg0KPiA+ID4gK3F1ZXVlcw0KPiA+IGJ1dA0KPiA+ ID4gKwkgKiBkb2VzIG5vdCBwcm92aWRlIGluZm8gb24gaG93IG1hbnkgY2FuIGJlIHVwbGluay9k b3dubGluayBvcg0KPiA+IGRpZmZlcmVudA0KPiA+ID4gKwkgKiBwcmlvcml0aWVzDQo+ID4gPiAr CSAqLw0KPiA+ID4gKwlkZXZfaW5mby0+bWF4X251bV9xdWV1ZXMgPQ0KPiA+ID4gKwkJCWQtPmFj YzEwMF9jb25mLnFfZGxfNWcubnVtX2Fxc19wZXJfZ3JvdXBzICoNCj4gPiA+ICsJCQlkLT5hY2Mx MDBfY29uZi5xX2RsXzVnLm51bV9xZ3JvdXBzICsNCj4gPiA+ICsJCQlkLT5hY2MxMDBfY29uZi5x X3VsXzVnLm51bV9hcXNfcGVyX2dyb3VwcyAqDQo+ID4gPiArCQkJZC0+YWNjMTAwX2NvbmYucV91 bF81Zy5udW1fcWdyb3VwcyArDQo+ID4gPiArCQkJZC0+YWNjMTAwX2NvbmYucV9kbF80Zy5udW1f YXFzX3Blcl9ncm91cHMgKg0KPiA+ID4gKwkJCWQtPmFjYzEwMF9jb25mLnFfZGxfNGcubnVtX3Fn cm91cHMgKw0KPiA+ID4gKwkJCWQtPmFjYzEwMF9jb25mLnFfdWxfNGcubnVtX2Fxc19wZXJfZ3Jv dXBzICoNCj4gPiA+ICsJCQlkLT5hY2MxMDBfY29uZi5xX3VsXzRnLm51bV9xZ3JvdXBzOw0KPiA+ ID4gKwlkZXZfaW5mby0+cXVldWVfc2l6ZV9saW0gPSBBQ0MxMDBfTUFYX1FVRVVFX0RFUFRIOw0K PiA+ID4gKwlkZXZfaW5mby0+aGFyZHdhcmVfYWNjZWxlcmF0ZWQgPSB0cnVlOw0KPiA+ID4gKwlk ZXZfaW5mby0+bWF4X2RsX3F1ZXVlX3ByaW9yaXR5ID0NCj4gPiA+ICsJCQlkLT5hY2MxMDBfY29u Zi5xX2RsXzRnLm51bV9xZ3JvdXBzIC0gMTsNCj4gPiA+ICsJZGV2X2luZm8tPm1heF91bF9xdWV1 ZV9wcmlvcml0eSA9DQo+ID4gPiArCQkJZC0+YWNjMTAwX2NvbmYucV91bF80Zy5udW1fcWdyb3Vw cyAtIDE7DQo+ID4gPiArCWRldl9pbmZvLT5kZWZhdWx0X3F1ZXVlX2NvbmYgPSBkZWZhdWx0X3F1 ZXVlX2NvbmY7DQo+ID4gPiArCWRldl9pbmZvLT5jcHVfZmxhZ19yZXFzID0gTlVMTDsNCj4gPiA+ ICsJZGV2X2luZm8tPm1pbl9hbGlnbm1lbnQgPSA2NDsNCj4gPiA+ICsJZGV2X2luZm8tPmNhcGFi aWxpdGllcyA9IGJiZGV2X2NhcGFiaWxpdGllczsNCj4gPiA+ICsJZGV2X2luZm8tPmhhcnFfYnVm ZmVyX3NpemUgPSBkLT5kZHJfc2l6ZTsgfQ0KPiA+ID4gKw0KPiA+ID4gIHN0YXRpYyBjb25zdCBz dHJ1Y3QgcnRlX2JiZGV2X29wcyBhY2MxMDBfYmJkZXZfb3BzID0gew0KPiA+ID4gIAkuY2xvc2Ug PSBhY2MxMDBfZGV2X2Nsb3NlLA0KPiA+ID4gKwkuaW5mb19nZXQgPSBhY2MxMDBfZGV2X2luZm9f Z2V0LA0KPiA+ID4gIH07DQo+ID4gPg0KPiA+ID4gIC8qIEFDQzEwMCBQQ0kgUEYgYWRkcmVzcyBt YXAgKi8NCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Jhc2ViYW5kL2FjYzEwMC9ydGVfYWNj MTAwX3BtZC5oDQo+ID4gPiBiL2RyaXZlcnMvYmFzZWJhbmQvYWNjMTAwL3J0ZV9hY2MxMDBfcG1k LmgNCj4gPiA+IGluZGV4IDY1MjVkNjYuLjA5OTY1YzggMTAwNjQ0DQo+ID4gPiAtLS0gYS9kcml2 ZXJzL2Jhc2ViYW5kL2FjYzEwMC9ydGVfYWNjMTAwX3BtZC5oDQo+ID4gPiArKysgYi9kcml2ZXJz L2Jhc2ViYW5kL2FjYzEwMC9ydGVfYWNjMTAwX3BtZC5oDQo+ID4gPiBAQCAtNyw2ICs3LDcgQEAN Cj4gPiA+DQo+ID4gPiAgI2luY2x1ZGUgImFjYzEwMF9wZl9lbnVtLmgiDQo+ID4gPiAgI2luY2x1 ZGUgImFjYzEwMF92Zl9lbnVtLmgiDQo+ID4gPiArI2luY2x1ZGUgInJ0ZV9hY2MxMDBfY2ZnLmgi DQo+ID4gPg0KPiA+ID4gIC8qIEhlbHBlciBtYWNybyBmb3IgbG9nZ2luZyAqLw0KPiA+ID4gICNk ZWZpbmUgcnRlX2JiZGV2X2xvZyhsZXZlbCwgZm10LCAuLi4pIFwgQEAgLTk4LDYgKzk5LDEzIEBA DQo+ID4gPiAjZGVmaW5lIEFDQzEwMF9TSUdfVUxfNEdfTEFTVCAyMQ0KPiA+ID4gICNkZWZpbmUg QUNDMTAwX1NJR19ETF80RyAgICAgIDI3DQo+ID4gPiAgI2RlZmluZSBBQ0MxMDBfU0lHX0RMXzRH X0xBU1QgMzENCj4gPiA+ICsjZGVmaW5lIEFDQzEwMF9OVU1fQUNDUyAgICAgICA1DQo+ID4gPiAr I2RlZmluZSBBQ0MxMDBfQUNDTUFQXzAgICAgICAgMA0KPiA+ID4gKyNkZWZpbmUgQUNDMTAwX0FD Q01BUF8xICAgICAgIDINCj4gPiA+ICsjZGVmaW5lIEFDQzEwMF9BQ0NNQVBfMiAgICAgICAxDQo+ ID4gPiArI2RlZmluZSBBQ0MxMDBfQUNDTUFQXzMgICAgICAgMw0KPiA+ID4gKyNkZWZpbmUgQUND MTAwX0FDQ01BUF80ICAgICAgIDQNCj4gPiA+ICsjZGVmaW5lIEFDQzEwMF9QRl9WQUwgICAgICAg ICAyDQo+ID4gPg0KPiA+ID4gIC8qIG1heCBudW1iZXIgb2YgaXRlcmF0aW9ucyB0byBhbGxvY2F0 ZSBtZW1vcnkgYmxvY2sgZm9yIGFsbCByaW5ncw0KPiA+ID4gKi8gI2RlZmluZSBBQ0MxMDBfU1df UklOR19NRU1fQUxMT0NfQVRURU1QVFMgNSBAQCAtNTE3LDYNCj4gKzUyNSw4DQo+ID4gQEAgc3Ry dWN0DQo+ID4gPiBhY2MxMDBfcmVnaXN0cnlfYWRkciB7DQo+ID4gPiAgLyogUHJpdmF0ZSBkYXRh IHN0cnVjdHVyZSBmb3IgZWFjaCBBQ0MxMDAgZGV2aWNlICovICBzdHJ1Y3QNCj4gPiA+IGFjYzEw MF9kZXZpY2Ugew0KPiA+ID4gIAl2b2lkICptbWlvX2Jhc2U7ICAvKio8IEJhc2UgYWRkcmVzcyBv ZiBNTUlPIHJlZ2lzdGVycyAoQkFSMCkgKi8NCj4gPiA+ICsJdWludDMyX3QgZGRyX3NpemU7IC8q IFNpemUgaW4ga0IgKi8NCj4gPiA+ICsJc3RydWN0IHJ0ZV9hY2MxMDBfY29uZiBhY2MxMDBfY29u ZjsgLyogQUNDMTAwIEluaXRpYWwNCj4gPiA+ICtjb25maWd1cmF0aW9uICovDQo+ID4gPiAgCWJv b2wgcGZfZGV2aWNlOyAvKio8IFRydWUgaWYgdGhpcyBpcyBhIFBGIEFDQzEwMCBkZXZpY2UgKi8N Cj4gPiA+ICAJYm9vbCBjb25maWd1cmVkOyAvKio8IFRydWUgaWYgdGhpcyBBQ0MxMDAgZGV2aWNl IGlzIGNvbmZpZ3VyZWQgKi8NCj4gPiA+IH07DQoNCg==