Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp281682iob; Fri, 13 May 2022 01:19:00 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxl9hK0UDKs8x/9ANGbN4dnaNXe5HpzFtTFrt3Mo8eHZz8hRCYecMw3NKRZDekV24zehPve X-Received: by 2002:a17:907:7205:b0:6f5:3f1:927e with SMTP id dr5-20020a170907720500b006f503f1927emr3089279ejc.739.1652429940584; Fri, 13 May 2022 01:19:00 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1652429940; cv=pass; d=google.com; s=arc-20160816; b=eYe7Ysq9di/dl3lYnSNdEODiqFeRji2/lPi7f5Peo1rsdOgRMZ1blAxzeD4SIYeg2B /qvmYSUOlcZ/zgHDPdXm4pEi98SjPha0AnrYT6xiZfKLmRHjvFc6/qc4M8upevSgiqLT ZrQGD6FzOc97vvm/kXPcsCzVCt/0QCEqVOBTMFXWtxeHrFeADZK5dh+wvrjD64Z3fSxH MSIp6tYxxd52+5JMfxtDYKfgEvs7apcd+B68Qpwqdzd6VUwp5iVSITgMarslpGaVNJol lJp8qPuOzvm+1KGPIVyRqIY10sxOo8QQiysEgb3tmhmVT7bob1L1W04GBA0J43rmUXop kqMA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=YN3NmBLMjhbYseAeRKAB0YE9jeIkjHtRLhGh7q+GqA4=; b=xEUkzORu5/mlmiCHkcAHb3XR1+1W50P6tZn7O8cECv6R4QJdVbCVeX+FONE4ukEVFC WhI6O6VTbIEgPh2AoVonvZ1l7GvQcaO7NdCWt7Ve1VRaP25vwgfpNCsNRMhVy4RREou0 p3CTBav1eZQIp9iFLt8y82oBBBUpvK4AJaQpK2thWmvSbKoTODJJ89cvd7DFgkrZzm3j r6lkkydKcMGiKFhNlWfdyYLe2WG5eYrYfikgxWxJJlmSQi5WdSu7cgNzWWgoeicKX9Cs mEyyos5J480lpBPxklkqn58ZRIMFLNLkITXcwAnZZCo7e9zqn1Nd9/kbD2Ll173YrRzM 1yBA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@Nvidia.com header.s=selector2 header.b=K3JFP3M6; arc=pass (i=1 spf=pass spfdomain=nvidia.com dkim=pass dkdomain=nvidia.com dmarc=pass fromdomain=nvidia.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=nvidia.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b37-20020a509f28000000b00425bb4f4b3dsi1263811edf.413.2022.05.13.01.18.33; Fri, 13 May 2022 01:19:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@Nvidia.com header.s=selector2 header.b=K3JFP3M6; arc=pass (i=1 spf=pass spfdomain=nvidia.com dkim=pass dkdomain=nvidia.com dmarc=pass fromdomain=nvidia.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=nvidia.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244481AbiELF37 (ORCPT + 99 others); Thu, 12 May 2022 01:29:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39858 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231895AbiELF3z (ORCPT ); Thu, 12 May 2022 01:29:55 -0400 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2070.outbound.protection.outlook.com [40.107.237.70]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DC9943C708 for ; Wed, 11 May 2022 22:29:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=b78cCW0rm2ALfKCrjVSu1NziQbz5doALT9B3DETLScCFa/iWIM8zhCYjJO57vvN5CJw2wzlJFgqQElXZRdeoh2/VVzhaE6AB3VaCclQ8/wCNVXUHfTjrbNmZ0JajCrK3dkfUm0WD6AJVOmDygW68dSID3Vs9NRiUZNjAXsF0Tav19scyruAxFJCyf3k0KSY/+DQwFHPIFISV35tVjrfHcsE+lgcIhFJS3mRo6ojMLTqELQ80Q3d7le1cFzGlOliY+hVHD55Oe74DX1kb0BQPO8uxOUtt+LMwxYC0VBYaxPb8er+xrQ0zfl/q5nU2rQhv0rNDUQ10w9zMLATQwDX8uA== 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=YN3NmBLMjhbYseAeRKAB0YE9jeIkjHtRLhGh7q+GqA4=; b=U6WrTmH8xsbXKDK1J44kxcnRUwkTbI776K4H+kD18QtPxb7ZuY8Srz1K+NuneMlYJWwW6zVWbUtAT2i991jPt2fwD3VAy3FHklwTMRMBfbZBiDQYqxeL2tANoy39fc/b5mLc7I2a6qsGqrgyhPjFMY0RHW6wJ2KPkiYFEYaH52MSQ0rJTgo5foa8JLseh7fS6TKOKGeXsBstbPxiPJ2VZyUx4F+jpY0h6reSgsuL18rjpYqDYfjYNDhR8f5tK36FUNrKg/o37rWdrWmmEWawfTHK50IUi89/gIDXh+y6OjaiwqpPWeggaF+7oSCkII92aqpmI61VK2BsKZmrHoGwrw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YN3NmBLMjhbYseAeRKAB0YE9jeIkjHtRLhGh7q+GqA4=; b=K3JFP3M6ruXBvScotPYHOv3hm9LUnvASzXDyK4JZVk98x04FErYdw9LjbSdFANx0d1GX/Gi5czvWxdra4yOASjM49nfLECMiSIfTA6UVPAlwZbfK4GQUAKwlYcfrN/3XAWtcgmO4W9G3g6T2tm19gMx5CRrwycs+eCm5j0pI59reeSWHdtiq/8rwnJBhA8YdxovkfhZU+98TGMgbXiwmEhb1BhWJp1mTYhyMQU2c0AX9PIjHTEY02oXT/jp42YUmOykMufGX9XHIvwRHyt0vSneMA4Gk4bdpRuU1qllkig7EgYp2LQrLFby3l2XkzbFZjgsfosTbly3kQOBVvuPNVw== Received: from DM8PR12MB5400.namprd12.prod.outlook.com (2603:10b6:8:3b::12) by DM5PR12MB1564.namprd12.prod.outlook.com (2603:10b6:4:f::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5250.13; Thu, 12 May 2022 05:29:51 +0000 Received: from DM8PR12MB5400.namprd12.prod.outlook.com ([fe80::a196:bbcc:de9d:50a5]) by DM8PR12MB5400.namprd12.prod.outlook.com ([fe80::a196:bbcc:de9d:50a5%9]) with mapi id 15.20.5250.013; Thu, 12 May 2022 05:29:51 +0000 From: Eli Cohen To: Jason Wang , Si-Wei Liu CC: mst , virtualization , linux-kernel Subject: RE: [PATCH v5 3/3] vdpa/mlx5: Add support for reading descriptor statistics Thread-Topic: [PATCH v5 3/3] vdpa/mlx5: Add support for reading descriptor statistics Thread-Index: AQHYZGD+mTdLkMOt5EiSOG0Nlehiu60Z75gAgACXT4CAADIWkA== Date: Thu, 12 May 2022 05:29:51 +0000 Message-ID: References: <20220510112734.205669-1-elic@nvidia.com> <20220510112734.205669-4-elic@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 09017311-518a-46f1-6ffb-08da33d87001 x-ms-traffictypediagnostic: DM5PR12MB1564:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: tVKEZ53Iewa5jcwFNlSkyXjNtRXOnbo32pYNUMg8moEknPiC/A4jh4Ia2/IyhKpAKxp+Jxb8NMNUW5g8Sjqy6NyzfVWQbQsrWuf3/LfZl4NL0yDxh+A/4+PHHt3x7vlAuy6R3YR1oiBqp26tB3YT8VM8HafM0Nkuy7gYTETkPl4GMa6egfI0IDNzIF4KKp3wh/XKq8ooRaS0UhwfgdGWskxSK0N9ORd+VjI4zLn7iZOVb4fCt8dJfqHKfBuQkPvz5wd0kgWT5ZAIM89Gph6BJ+XTdJCx7okrwNHsORQ98Bswd/7+SkFc/R5Sfq/EEoshsJqsOm7A0S2Nr9cnz/8KZRPmHwPDJk2rxKkoRYHi2CixZdNXrYNFCSha7WSuPZ4x4Ug+ScNJIDgMKfLkb/deKS7uds9Y5zLODxNw+SBhX2IbNVuRW50/yxUiRq+tkLtvbnbkt8Rp3ZX6gpfJwYm6QYc5uURIB5EcQwlexlUObe+sPeqn37qwcj0tq4S3SvCZuG1wvlhbSbZdGktKxovBLoFXEpZ0lNSoLOoktgfocYCJDwpQBZMpqnC0SpJASq2+16bluQRs726tsv/HAeFd2OQOcLt34zq8CEIWkvPaV0wn0jrduLAHxN2QAbnSNTwfv5l+AmCMputzqFB9GncHipTBEy6FtFvgN+e6W4/lNowp/2tprl3rEExKDyfbWIYnj4oRP/Vfrk+ev5eokWKEKg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM8PR12MB5400.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(122000001)(4326008)(86362001)(5660300002)(508600001)(8936002)(52536014)(54906003)(38100700002)(110136005)(38070700005)(316002)(8676002)(71200400001)(66476007)(26005)(66946007)(64756008)(66556008)(66446008)(76116006)(6506007)(9686003)(33656002)(53546011)(55016003)(83380400001)(30864003)(7696005)(186003)(2906002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WUx2eWxWRWIvQWYrenRVMmJFZklsYi8xQXJ2Q0VubVlONEJ1OGZ2WHM5UVM1?= =?utf-8?B?bWN6MnZqRGRETDdhMDRlOFFoaGQzWGkya0NTalh6T3hhclM2NGVzZU9xZFM5?= =?utf-8?B?dWNDNE9CcGdVZFpLcVRDN2cxYlJRdmREUmZxQktCeFVncWNBdUtpZHJ5NW5T?= =?utf-8?B?MUloNHhYYUpWOHA1aXYwOE12ZVlwd1dzL011NmQrU1FaWnZ2dk1PREVFcURL?= =?utf-8?B?WktzRFUzcnNmNlhJNE5ZNDZIRjNNMFl4ekljTmhSRk5yaWM5aWQwblF0QXdS?= =?utf-8?B?a1JHeWx5bUFZY25hcFdBM291UklpYUZHTzV3TzdiOThBcFA1OEVzbGlwUGRC?= =?utf-8?B?RFVwSGJjU1ZUeURPb091VGtINWlnVzJKYVI3eThTMGYyRSt0NGZjWnU3c0M2?= =?utf-8?B?M0JQOENTNW9lUkVpckhmNitTVlBMeHhjWklvR1FnakJmSlk1M1ZOekF4MnYx?= =?utf-8?B?WmllNUN5cEZTYWh1RU15WHd5cjhLRW1zNXdoejc3Q2ZHRVF1UDNUd1NDR2xl?= =?utf-8?B?Qk9MUFU0N1RHZUVuTGZrREN6NE13L1N1b1dyWFhmdXVObzNNc1pYNUdjaFVT?= =?utf-8?B?cDJ5b2dCT1NkMFh1Y0t4MStTa1c4Vk1XYUZRbnNJUGsyTFYwQ0dheTNmKzc0?= =?utf-8?B?L2Jqc2hXd3QwRndMVW03R2duZjFoUnlpOEIwT2xyeWZjRGtIWlZXUnZTTmk3?= =?utf-8?B?V0NoZExVMlZFR1JZbHA5ejlhT0lza3EwRmNoOHpUTXgydStCL3ZGL1lXcVZQ?= =?utf-8?B?ZFNHZTY1WmNDVndHd3BSd2xNYyswcmsySkZmREhQcVBxWWpiU3dieWxQMnE0?= =?utf-8?B?eEp3WHhwT2ptazFUUEpRRi9qdytna2djclZ6OEVXMmJrSHY2TXV4OTVjNTYw?= =?utf-8?B?amVlREZEVDFMcHVacjFlRnVnNm8vUmRScUZrWmdqRFU2SjNrZjNVM01IMGZ1?= =?utf-8?B?d25aUVY3RE8zbUFPMUlNWWxwK1JyWW5SZVdZekp6UEMwa29JMHFLU2hUejY1?= =?utf-8?B?MWZlNlY3UXduYWZMbG42QWJNb1JvM2wrMHdVWjBKL1RSSmpOc2JRaVEvS0lt?= =?utf-8?B?a0VtMjBLbkFPcjVyaFo1NDkwWnBIWjZuMzVtd1dHcFY0S2pObUl0SWxRNGh3?= =?utf-8?B?cWI3THJHckZZdlUzbjl4ZUtNRGczMkZJZWJvbUVTc1hVVFB4VmxvVGh1YkRo?= =?utf-8?B?QWJBckhjM2hFVHF5RXdidjlZRmIySzZsckFqNFJiYWdTU0NrczFEbWR4Q3hv?= =?utf-8?B?S1V6UExFaFVaeDVVcW9ZU1JCeUtFN0sxVGoxTi93K3ZmeTgwL1ltNWQ2dFBB?= =?utf-8?B?aFhuNE1nejVyQ0VKRjhOVmdxZE5YVjJ6TkRSWEJyR0U1KzhiajRNTU9oNC81?= =?utf-8?B?Yk9xU1FBMGxxN2xjV0w4TVRpb1g5ZTNLNnIwWHBHOGswZ1JidmVmSFB1NjRx?= =?utf-8?B?Tm02d2FYb2dYZm1COThKZ0dWSHltdXNiN2xoWTZBL2lLaUFPZ1FxeDN1d2N6?= =?utf-8?B?VFVTb1phM0ZTWUk5bHpQOVlnUi8yY3VGSlRTY0hKK1dDVU1mNnhLa09pL0pt?= =?utf-8?B?K0x2ak8rMkI5aWcxdTFMWW1ENU82Si9QNi9mellzNjdsZkZIcHRJa1Axb2hB?= =?utf-8?B?ZVF1MWtibmVtL204SW9FeGhhU2Z0SmwwQmJJWEc2TWV5RnphcTRJaVhFOWdw?= =?utf-8?B?Q3pvejQ3S1d0ZnJWeHNJM2dJQzRTNk9JSWp2cE5VSWpzWDlJeDQydnlBY1Fh?= =?utf-8?B?Y3kySGFKTTk5bzNRYU5vUEFCZkczUmU3NmJGMnpxbDZDYkpvU1hFQmxtbTlw?= =?utf-8?B?SGVWWjVKMVFmMnNudkttdXNTRnVLMzZ1V2FDU2xVblgxb3huZ1QyTG5BbGhv?= =?utf-8?B?ZEx0RHFvTWtKN3RPdFJHdFZyRnh3UCtDRW1BYnV5NC9RN0hIZkNTeU53cm9l?= =?utf-8?B?TC9RbXhVcFBIODVNVGdXcDFZTDE0b2xQbC9scW9zTGNWMFFVQm4veThUZ0dO?= =?utf-8?B?NW40SVV6ZEVNRWFFbENFYlhLQ3V0Qnp6R3lnMHJTMHp4WGV2cGtNeUx0bkQ4?= =?utf-8?B?dERCdE5mZ29Jd2Nvd2Q1V1piNDR3NlpnWHVPYk52RUF1UEFxaVBpRzducWwx?= =?utf-8?B?RGVhQjB6TWcyUTlwZ0NXYWYrQ1FNTTc4UUZWSHVJdXpLbDgzNHpEQlNVVnhU?= =?utf-8?B?YVpFNnZDU2Y2STQxRnR3amF6ZDAwZ0JBc1lXdS9HQkpaRTdCUFNOQjYvNXp0?= =?utf-8?B?ZVJSdlkwL0dDU3Y3STBwQldXdEdJaXBjcDJXbzFROUcrODBNWndCRngwZGV2?= =?utf-8?Q?nr05eCAzLhfmIzcSzv?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8PR12MB5400.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 09017311-518a-46f1-6ffb-08da33d87001 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 May 2022 05:29:51.0972 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: XlJgzDgNbFwLiFNrxMLbsFWtTR3ZBCeuMpN6dugwhoa0/BvzztmSnedejQr5Pwkl X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1564 X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO, RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBKYXNvbiBXYW5nIDxqYXNvd2Fu Z0ByZWRoYXQuY29tPg0KPiBTZW50OiBUaHVyc2RheSwgTWF5IDEyLCAyMDIyIDU6MjggQU0NCj4g VG86IFNpLVdlaSBMaXUgPHNpLXdlaS5saXVAb3JhY2xlLmNvbT4NCj4gQ2M6IEVsaSBDb2hlbiA8 ZWxpY0BudmlkaWEuY29tPjsgbXN0IDxtc3RAcmVkaGF0LmNvbT47IHZpcnR1YWxpemF0aW9uIDx2 aXJ0dWFsaXphdGlvbkBsaXN0cy5saW51eC1mb3VuZGF0aW9uLm9yZz47IGxpbnV4LWtlcm5lbCA8 bGludXgtDQo+IGtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0gg djUgMy8zXSB2ZHBhL21seDU6IEFkZCBzdXBwb3J0IGZvciByZWFkaW5nIGRlc2NyaXB0b3Igc3Rh dGlzdGljcw0KPiANCj4gT24gVGh1LCBNYXkgMTIsIDIwMjIgYXQgMToyNiBBTSBTaS1XZWkgTGl1 IDxzaS13ZWkubGl1QG9yYWNsZS5jb20+IHdyb3RlOg0KPiA+DQo+ID4NCj4gPg0KPiA+IE9uIDUv MTAvMjAyMiA0OjI3IEFNLCBFbGkgQ29oZW4gd3JvdGU6DQo+ID4gPiBJbXBsZW1lbnQgdGhlIGdl dF92cV9zdGF0cyBjYWxiYWNrIG9mIHZkcGFfY29uZmlnX29wcyB0byByZXR1cm4gdGhlDQo+ID4g PiBzdGF0aXN0aWNzIGZvciBhIHZpcnRxdWV1ZS4NCj4gPiA+DQo+ID4gPiBUaGUgc3RhdGlzdGlj cyBhcmUgcHJvdmlkZWQgYXMgdmVuZG9yIHNwZWNpZmljIHN0YXRpc3RpY3Mgd2hlcmUgdGhlDQo+ ID4gPiBkcml2ZXIgcHJvdmlkZXMgYSBwYWlyIG9mIGF0dHJpYnV0ZSBuYW1lIGFuZCBhdHRyaWJ1 dGUgdmFsdWUuDQo+ID4gPg0KPiA+ID4gSW4gYWRkaXRpb24gdG8gdGhlIGF0dHJpYnV0ZSBuYW1l L2F0dHJpYnV0ZSB2YWx1ZSBwYWlyLCB0aGUgZHJpdmVyDQo+ID4gPiByZXR1cm5zIHRoZSBuZWdv dGlhdGVkIGZlYXR1cmVzIGFuZCBtYXggdmlydHF1ZXVlIHBhaXJzIGZvciB1c2Vyc3BhY2UNCj4g PiA+IGNhbiBkZWNpZGUgZm9yIGEgZ2l2ZW4gcXVldWUgaW5kZXggd2hldGhlciBpdCBpcyBhIGRh dGEgb3IgY29udHJvbA0KPiA+ID4gdmlydHF1ZXVlLg0KPiA+ID4NCj4gPiA+IEN1cnJlbnRseSBz dXBwb3J0ZWQgYXJlIHJlY2VpdmVkIGRlc2NyaXB0b3JzIGFuZCBjb21wbGV0ZWQgZGVzY3JpcHRv cnMuDQo+ID4gPg0KPiA+ID4gQWNrZWQtYnk6IEphc29uIFdhbmcgPGphc293YW5nQHJlZGhhdC5j b20+DQo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBFbGkgQ29oZW4gPGVsaWNAbnZpZGlhLmNvbT4NCj4g PiA+IC0tLQ0KPiA+ID4gdjQgLT4gdjU6DQo+ID4gPiAgIFJlbW92ZSBudW1xX2xvY2sgbXV0ZXgu IFVzZSByZXNsb2NrIGluc3RyZWFkLg0KPiA+ID4NCj4gPiA+DQo+ID4gPiAgIGRyaXZlcnMvdmRw YS9tbHg1L2NvcmUvbWx4NV92ZHBhLmggfCAgIDIgKw0KPiA+ID4gICBkcml2ZXJzL3ZkcGEvbWx4 NS9uZXQvbWx4NV92bmV0LmMgIHwgMTY1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ ID4gPiAgIGluY2x1ZGUvbGludXgvbWx4NS9tbHg1X2lmYy5oICAgICAgfCAgIDEgKw0KPiA+ID4g ICBpbmNsdWRlL2xpbnV4L21seDUvbWx4NV9pZmNfdmRwYS5oIHwgIDM5ICsrKysrKysNCj4gPiA+ ICAgNCBmaWxlcyBjaGFuZ2VkLCAyMDcgaW5zZXJ0aW9ucygrKQ0KPiA+ID4NCj4gPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL3ZkcGEvbWx4NS9jb3JlL21seDVfdmRwYS5oIGIvZHJpdmVycy92ZHBh L21seDUvY29yZS9tbHg1X3ZkcGEuaA0KPiA+ID4gaW5kZXggZGFhZjdiNTAzNjc3Li40NDEwNDA5 MzE2M2IgMTAwNjQ0DQo+ID4gPiAtLS0gYS9kcml2ZXJzL3ZkcGEvbWx4NS9jb3JlL21seDVfdmRw YS5oDQo+ID4gPiArKysgYi9kcml2ZXJzL3ZkcGEvbWx4NS9jb3JlL21seDVfdmRwYS5oDQo+ID4g PiBAQCAtNjEsNiArNjEsOCBAQCBzdHJ1Y3QgbWx4NV9jb250cm9sX3ZxIHsNCj4gPiA+ICAgICAg IHN0cnVjdCB2cmluZ2hfa2lvdiByaW92Ow0KPiA+ID4gICAgICAgc3RydWN0IHZyaW5naF9raW92 IHdpb3Y7DQo+ID4gPiAgICAgICB1bnNpZ25lZCBzaG9ydCBoZWFkOw0KPiA+ID4gKyAgICAgdW5z aWduZWQgaW50IHJlY2VpdmVkX2Rlc2M7DQo+ID4gPiArICAgICB1bnNpZ25lZCBpbnQgY29tcGxl dGVkX2Rlc2M7DQo+ID4gPiAgIH07DQo+ID4gPg0KPiA+ID4gICBzdHJ1Y3QgbWx4NV92ZHBhX3dx X2VudCB7DQo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92ZHBhL21seDUvbmV0L21seDVfdm5l dC5jIGIvZHJpdmVycy92ZHBhL21seDUvbmV0L21seDVfdm5ldC5jDQo+ID4gPiBpbmRleCA3OTAw MTMwMWIzODMuLjk5YjA2MjFlN2E4NyAxMDA2NDQNCj4gPiA+IC0tLSBhL2RyaXZlcnMvdmRwYS9t bHg1L25ldC9tbHg1X3ZuZXQuYw0KPiA+ID4gKysrIGIvZHJpdmVycy92ZHBhL21seDUvbmV0L21s eDVfdm5ldC5jDQo+ID4gPiBAQCAtMTE5LDYgKzExOSw3IEBAIHN0cnVjdCBtbHg1X3ZkcGFfdmly dHF1ZXVlIHsNCj4gPiA+ICAgICAgIHN0cnVjdCBtbHg1X3ZkcGFfdW1lbSB1bWVtMjsNCj4gPiA+ ICAgICAgIHN0cnVjdCBtbHg1X3ZkcGFfdW1lbSB1bWVtMzsNCj4gPiA+DQo+ID4gPiArICAgICB1 MzIgY291bnRlcl9zZXRfaWQ7DQo+ID4gPiAgICAgICBib29sIGluaXRpYWxpemVkOw0KPiA+ID4g ICAgICAgaW50IGluZGV4Ow0KPiA+ID4gICAgICAgdTMyIHZpcnRxX2lkOw0KPiA+ID4gQEAgLTE2 NCw2ICsxNjUsNyBAQCBzdHJ1Y3QgbWx4NV92ZHBhX25ldCB7DQo+ID4gPiAgICAgICBzdHJ1Y3Qg bm90aWZpZXJfYmxvY2sgbmI7DQo+ID4gPiAgICAgICBzdHJ1Y3QgdmRwYV9jYWxsYmFjayBjb25m aWdfY2I7DQo+ID4gPiAgICAgICBzdHJ1Y3QgbWx4NV92ZHBhX3dxX2VudCBjdnFfZW50Ow0KPiA+ ID4gKyAgICAgLyogc3luYyBhY2Nlc3MgdG8gdmlydHF1ZXVlcyBzdGF0aXN0aWNzICovDQo+ID4g RGFuZ2xpbmcgY29kZSBjaGFuZ2U/DQo+ID4NCj4gPiA+ICAgfTsNCj4gPiA+DQo+ID4gPiAgIHN0 YXRpYyB2b2lkIGZyZWVfcmVzb3VyY2VzKHN0cnVjdCBtbHg1X3ZkcGFfbmV0ICpuZGV2KTsNCj4g PiA+IEBAIC04MjIsNiArODI0LDEyIEBAIHN0YXRpYyB1MTYgZ2V0X2ZlYXR1cmVzXzEyXzModTY0 IGZlYXR1cmVzKQ0KPiA+ID4gICAgICAgICAgICAgICghIShmZWF0dXJlcyAmIEJJVF9VTEwoVklS VElPX05FVF9GX0dVRVNUX0NTVU0pKSA8PCA2KTsNCj4gPiA+ICAgfQ0KPiA+ID4NCj4gPiA+ICtz dGF0aWMgYm9vbCBjb3VudGVyc19zdXBwb3J0ZWQoY29uc3Qgc3RydWN0IG1seDVfdmRwYV9kZXYg Km12ZGV2KQ0KPiA+ID4gK3sNCj4gPiA+ICsgICAgIHJldHVybiBNTFg1X0NBUF9HRU5fNjQobXZk ZXYtPm1kZXYsIGdlbmVyYWxfb2JqX3R5cGVzKSAmDQo+ID4gPiArICAgICAgICAgICAgQklUX1VM TChNTFg1X09CSl9UWVBFX1ZJUlRJT19RX0NPVU5URVJTKTsNCj4gPiA+ICt9DQo+ID4gPiArDQo+ ID4gPiAgIHN0YXRpYyBpbnQgY3JlYXRlX3ZpcnRxdWV1ZShzdHJ1Y3QgbWx4NV92ZHBhX25ldCAq bmRldiwgc3RydWN0IG1seDVfdmRwYV92aXJ0cXVldWUgKm12cSkNCj4gPiA+ICAgew0KPiA+ID4g ICAgICAgaW50IGlubGVuID0gTUxYNV9TVF9TWl9CWVRFUyhjcmVhdGVfdmlydGlvX25ldF9xX2lu KTsNCj4gPiA+IEBAIC04NzYsNiArODg0LDggQEAgc3RhdGljIGludCBjcmVhdGVfdmlydHF1ZXVl KHN0cnVjdCBtbHg1X3ZkcGFfbmV0ICpuZGV2LCBzdHJ1Y3QgbWx4NV92ZHBhX3ZpcnRxdWUNCj4g PiA+ICAgICAgIE1MWDVfU0VUKHZpcnRpb19xLCB2cV9jdHgsIHVtZW1fM19pZCwgbXZxLT51bWVt My5pZCk7DQo+ID4gPiAgICAgICBNTFg1X1NFVCh2aXJ0aW9fcSwgdnFfY3R4LCB1bWVtXzNfc2l6 ZSwgbXZxLT51bWVtMy5zaXplKTsNCj4gPiA+ICAgICAgIE1MWDVfU0VUKHZpcnRpb19xLCB2cV9j dHgsIHBkLCBuZGV2LT5tdmRldi5yZXMucGRuKTsNCj4gPiA+ICsgICAgIGlmIChjb3VudGVyc19z dXBwb3J0ZWQoJm5kZXYtPm12ZGV2KSkNCj4gPiA+ICsgICAgICAgICAgICAgTUxYNV9TRVQodmly dGlvX3EsIHZxX2N0eCwgY291bnRlcl9zZXRfaWQsIG12cS0+Y291bnRlcl9zZXRfaWQpOw0KPiA+ ID4NCj4gPiA+ICAgICAgIGVyciA9IG1seDVfY21kX2V4ZWMobmRldi0+bXZkZXYubWRldiwgaW4s IGlubGVuLCBvdXQsIHNpemVvZihvdXQpKTsNCj4gPiA+ICAgICAgIGlmIChlcnIpDQo+ID4gPiBA QCAtMTEzOSw2ICsxMTQ5LDQ3IEBAIHN0YXRpYyBpbnQgbW9kaWZ5X3ZpcnRxdWV1ZShzdHJ1Y3Qg bWx4NV92ZHBhX25ldCAqbmRldiwgc3RydWN0IG1seDVfdmRwYV92aXJ0cXVlDQo+ID4gPiAgICAg ICByZXR1cm4gZXJyOw0KPiA+ID4gICB9DQo+ID4gPg0KPiA+ID4gK3N0YXRpYyBpbnQgY291bnRl cl9zZXRfYWxsb2Moc3RydWN0IG1seDVfdmRwYV9uZXQgKm5kZXYsIHN0cnVjdCBtbHg1X3ZkcGFf dmlydHF1ZXVlICptdnEpDQo+ID4gPiArew0KPiA+ID4gKyAgICAgdTMyIGluW01MWDVfU1RfU1pf RFcoY3JlYXRlX3ZpcnRpb19xX2NvdW50ZXJzX2luKV0gPSB7fTsNCj4gPiA+ICsgICAgIHUzMiBv dXRbTUxYNV9TVF9TWl9EVyhjcmVhdGVfdmlydGlvX3FfY291bnRlcnNfb3V0KV0gPSB7fTsNCj4g PiA+ICsgICAgIHZvaWQgKmNtZF9oZHI7DQo+ID4gPiArICAgICBpbnQgZXJyOw0KPiA+ID4gKw0K PiA+ID4gKyAgICAgaWYgKCFjb3VudGVyc19zdXBwb3J0ZWQoJm5kZXYtPm12ZGV2KSkNCj4gPiA+ ICsgICAgICAgICAgICAgcmV0dXJuIDA7DQo+ID4gPiArDQo+ID4gPiArICAgICBjbWRfaGRyID0g TUxYNV9BRERSX09GKGNyZWF0ZV92aXJ0aW9fcV9jb3VudGVyc19pbiwgaW4sIGhkcik7DQo+ID4g PiArDQo+ID4gPiArICAgICBNTFg1X1NFVChnZW5lcmFsX29ial9pbl9jbWRfaGRyLCBjbWRfaGRy LCBvcGNvZGUsIE1MWDVfQ01EX09QX0NSRUFURV9HRU5FUkFMX09CSkVDVCk7DQo+ID4gPiArICAg ICBNTFg1X1NFVChnZW5lcmFsX29ial9pbl9jbWRfaGRyLCBjbWRfaGRyLCBvYmpfdHlwZSwgTUxY NV9PQkpfVFlQRV9WSVJUSU9fUV9DT1VOVEVSUyk7DQo+ID4gPiArICAgICBNTFg1X1NFVChnZW5l cmFsX29ial9pbl9jbWRfaGRyLCBjbWRfaGRyLCB1aWQsIG5kZXYtPm12ZGV2LnJlcy51aWQpOw0K PiA+ID4gKw0KPiA+ID4gKyAgICAgZXJyID0gbWx4NV9jbWRfZXhlYyhuZGV2LT5tdmRldi5tZGV2 LCBpbiwgc2l6ZW9mKGluKSwgb3V0LCBzaXplb2Yob3V0KSk7DQo+ID4gPiArICAgICBpZiAoZXJy KQ0KPiA+ID4gKyAgICAgICAgICAgICByZXR1cm4gZXJyOw0KPiA+ID4gKw0KPiA+ID4gKyAgICAg bXZxLT5jb3VudGVyX3NldF9pZCA9IE1MWDVfR0VUKGdlbmVyYWxfb2JqX291dF9jbWRfaGRyLCBv dXQsIG9ial9pZCk7DQo+ID4gPiArDQo+ID4gPiArICAgICByZXR1cm4gMDsNCj4gPiA+ICt9DQo+ ID4gPiArDQo+ID4gPiArc3RhdGljIHZvaWQgY291bnRlcl9zZXRfZGVhbGxvYyhzdHJ1Y3QgbWx4 NV92ZHBhX25ldCAqbmRldiwgc3RydWN0IG1seDVfdmRwYV92aXJ0cXVldWUgKm12cSkNCj4gPiA+ ICt7DQo+ID4gPiArICAgICB1MzIgaW5bTUxYNV9TVF9TWl9EVyhkZXN0cm95X3ZpcnRpb19xX2Nv dW50ZXJzX2luKV0gPSB7fTsNCj4gPiA+ICsgICAgIHUzMiBvdXRbTUxYNV9TVF9TWl9EVyhkZXN0 cm95X3ZpcnRpb19xX2NvdW50ZXJzX291dCldID0ge307DQo+ID4gPiArDQo+ID4gPiArICAgICBp ZiAoIWNvdW50ZXJzX3N1cHBvcnRlZCgmbmRldi0+bXZkZXYpKQ0KPiA+ID4gKyAgICAgICAgICAg ICByZXR1cm47DQo+ID4gPiArDQo+ID4gPiArICAgICBNTFg1X1NFVChkZXN0cm95X3ZpcnRpb19x X2NvdW50ZXJzX2luLCBpbiwgaGRyLm9wY29kZSwgTUxYNV9DTURfT1BfREVTVFJPWV9HRU5FUkFM X09CSkVDVCk7DQo+ID4gPiArICAgICBNTFg1X1NFVChkZXN0cm95X3ZpcnRpb19xX2NvdW50ZXJz X2luLCBpbiwgaGRyLm9ial9pZCwgbXZxLT5jb3VudGVyX3NldF9pZCk7DQo+ID4gPiArICAgICBN TFg1X1NFVChkZXN0cm95X3ZpcnRpb19xX2NvdW50ZXJzX2luLCBpbiwgaGRyLnVpZCwgbmRldi0+ bXZkZXYucmVzLnVpZCk7DQo+ID4gPiArICAgICBNTFg1X1NFVChkZXN0cm95X3ZpcnRpb19xX2Nv dW50ZXJzX2luLCBpbiwgaGRyLm9ial90eXBlLCBNTFg1X09CSl9UWVBFX1ZJUlRJT19RX0NPVU5U RVJTKTsNCj4gPiA+ICsgICAgIGlmIChtbHg1X2NtZF9leGVjKG5kZXYtPm12ZGV2Lm1kZXYsIGlu LCBzaXplb2YoaW4pLCBvdXQsIHNpemVvZihvdXQpKSkNCj4gPiA+ICsgICAgICAgICAgICAgbWx4 NV92ZHBhX3dhcm4oJm5kZXYtPm12ZGV2LCAiZGVhbGxvYyBjb3VudGVyIHNldCAweCV4XG4iLCBt dnEtPmNvdW50ZXJfc2V0X2lkKTsNCj4gPiA+ICt9DQo+ID4gPiArDQo+ID4gPiAgIHN0YXRpYyBp bnQgc2V0dXBfdnEoc3RydWN0IG1seDVfdmRwYV9uZXQgKm5kZXYsIHN0cnVjdCBtbHg1X3ZkcGFf dmlydHF1ZXVlICptdnEpDQo+ID4gPiAgIHsNCj4gPiA+ICAgICAgIHUxNiBpZHggPSBtdnEtPmlu ZGV4Ow0KPiA+ID4gQEAgLTExNjYsNiArMTIxNywxMCBAQCBzdGF0aWMgaW50IHNldHVwX3ZxKHN0 cnVjdCBtbHg1X3ZkcGFfbmV0ICpuZGV2LCBzdHJ1Y3QgbWx4NV92ZHBhX3ZpcnRxdWV1ZSAqbXZx KQ0KPiA+ID4gICAgICAgaWYgKGVycikNCj4gPiA+ICAgICAgICAgICAgICAgZ290byBlcnJfY29u bmVjdDsNCj4gPiA+DQo+ID4gPiArICAgICBlcnIgPSBjb3VudGVyX3NldF9hbGxvYyhuZGV2LCBt dnEpOw0KPiA+ID4gKyAgICAgaWYgKGVycikNCj4gPiA+ICsgICAgICAgICAgICAgZ290byBlcnJf Y291bnRlcjsNCj4gPiA+ICsNCj4gPiA+ICAgICAgIGVyciA9IGNyZWF0ZV92aXJ0cXVldWUobmRl diwgbXZxKTsNCj4gPiA+ICAgICAgIGlmIChlcnIpDQo+ID4gPiAgICAgICAgICAgICAgIGdvdG8g ZXJyX2Nvbm5lY3Q7DQo+ID4gPiBAQCAtMTE4Myw2ICsxMjM4LDggQEAgc3RhdGljIGludCBzZXR1 cF92cShzdHJ1Y3QgbWx4NV92ZHBhX25ldCAqbmRldiwgc3RydWN0IG1seDVfdmRwYV92aXJ0cXVl dWUgKm12cSkNCj4gPiA+ICAgICAgIHJldHVybiAwOw0KPiA+ID4NCj4gPiA+ICAgZXJyX2Nvbm5l Y3Q6DQo+ID4gPiArICAgICBjb3VudGVyX3NldF9kZWFsbG9jKG5kZXYsIG12cSk7DQo+ID4gPiAr ZXJyX2NvdW50ZXI6DQo+ID4gPiAgICAgICBxcF9kZXN0cm95KG5kZXYsICZtdnEtPnZxcXApOw0K PiA+ID4gICBlcnJfdnFxcDoNCj4gPiA+ICAgICAgIHFwX2Rlc3Ryb3kobmRldiwgJm12cS0+Zndx cCk7DQo+ID4gPiBAQCAtMTIyNyw2ICsxMjg0LDcgQEAgc3RhdGljIHZvaWQgdGVhcmRvd25fdnEo c3RydWN0IG1seDVfdmRwYV9uZXQgKm5kZXYsIHN0cnVjdCBtbHg1X3ZkcGFfdmlydHF1ZXVlICoN Cj4gPiA+DQo+ID4gPiAgICAgICBzdXNwZW5kX3ZxKG5kZXYsIG12cSk7DQo+ID4gPiAgICAgICBk ZXN0cm95X3ZpcnRxdWV1ZShuZGV2LCBtdnEpOw0KPiA+ID4gKyAgICAgY291bnRlcl9zZXRfZGVh bGxvYyhuZGV2LCBtdnEpOw0KPiA+ID4gICAgICAgcXBfZGVzdHJveShuZGV2LCAmbXZxLT52cXFw KTsNCj4gPiA+ICAgICAgIHFwX2Rlc3Ryb3kobmRldiwgJm12cS0+ZndxcCk7DQo+ID4gPiAgICAg ICBjcV9kZXN0cm95KG5kZXYsIG12cS0+aW5kZXgpOw0KPiA+ID4gQEAgLTE2ODEsNiArMTczOSw3 IEBAIHN0YXRpYyB2b2lkIG1seDVfY3ZxX2tpY2tfaGFuZGxlcihzdHJ1Y3Qgd29ya19zdHJ1Y3Qg KndvcmspDQo+ID4gPiAgICAgICAgICAgICAgIGlmIChyZWFkICE9IHNpemVvZihjdHJsKSkNCj4g PiA+ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4gPiA+DQo+ID4gPiArICAgICAgICAg ICAgIGN2cS0+cmVjZWl2ZWRfZGVzYysrOw0KPiA+ID4gICAgICAgICAgICAgICBzd2l0Y2ggKGN0 cmwuY2xhc3MpIHsNCj4gPiA+ICAgICAgICAgICAgICAgY2FzZSBWSVJUSU9fTkVUX0NUUkxfTUFD Og0KPiA+ID4gICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cyA9IGhhbmRsZV9jdHJsX21hYyht dmRldiwgY3RybC5jbWQpOw0KPiA+ID4gQEAgLTE3MDQsNiArMTc2Myw3IEBAIHN0YXRpYyB2b2lk IG1seDVfY3ZxX2tpY2tfaGFuZGxlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspDQo+ID4gPiAg ICAgICAgICAgICAgIGlmICh2cmluZ2hfbmVlZF9ub3RpZnlfaW90bGIoJmN2cS0+dnJpbmcpKQ0K PiA+ID4gICAgICAgICAgICAgICAgICAgICAgIHZyaW5naF9ub3RpZnkoJmN2cS0+dnJpbmcpOw0K PiA+ID4NCj4gPiA+ICsgICAgICAgICAgICAgY3ZxLT5jb21wbGV0ZWRfZGVzYysrOw0KPiA+ID4g ICAgICAgICAgICAgICBxdWV1ZV93b3JrKG12ZGV2LT53cSwgJndxZW50LT53b3JrKTsNCj4gPiA+ ICAgICAgICAgICAgICAgYnJlYWs7DQo+ID4gPiAgICAgICB9DQo+ID4gPiBAQCAtMjMyMyw2ICsy MzgzLDggQEAgc3RhdGljIGludCBtbHg1X3ZkcGFfcmVzZXQoc3RydWN0IHZkcGFfZGV2aWNlICp2 ZGV2KQ0KPiA+ID4gICAgICAgbWx4NV92ZHBhX2Rlc3Ryb3lfbXIoJm5kZXYtPm12ZGV2KTsNCj4g PiA+ICAgICAgIG5kZXYtPm12ZGV2LnN0YXR1cyA9IDA7DQo+ID4gPiAgICAgICBuZGV2LT5jdXJf bnVtX3ZxcyA9IDA7DQo+ID4gPiArICAgICBuZGV2LT5tdmRldi5jdnEucmVjZWl2ZWRfZGVzYyA9 IDA7DQo+ID4gPiArICAgICBuZGV2LT5tdmRldi5jdnEuY29tcGxldGVkX2Rlc2MgPSAwOw0KPiA+ ID4gICAgICAgbWVtc2V0KG5kZXYtPmV2ZW50X2NicywgMCwgc2l6ZW9mKCpuZGV2LT5ldmVudF9j YnMpICogKG12ZGV2LT5tYXhfdnFzICsgMSkpOw0KPiA+ID4gICAgICAgbmRldi0+bXZkZXYuYWN0 dWFsX2ZlYXR1cmVzID0gMDsNCj4gPiA+ICAgICAgICsrbXZkZXYtPmdlbmVyYXRpb247DQo+ID4g PiBAQCAtMjQ0Miw2ICsyNTA0LDEwOCBAQCBzdGF0aWMgdTY0IG1seDVfdmRwYV9nZXRfZHJpdmVy X2ZlYXR1cmVzKHN0cnVjdCB2ZHBhX2RldmljZSAqdmRldikNCj4gPiA+ICAgICAgIHJldHVybiBt dmRldi0+YWN0dWFsX2ZlYXR1cmVzOw0KPiA+ID4gICB9DQo+ID4gPg0KPiA+ID4gK3N0YXRpYyBp bnQgY291bnRlcl9zZXRfcXVlcnkoc3RydWN0IG1seDVfdmRwYV9uZXQgKm5kZXYsIHN0cnVjdCBt bHg1X3ZkcGFfdmlydHF1ZXVlICptdnEsDQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICB1NjQgKnJlY2VpdmVkX2Rlc2MsIHU2NCAqY29tcGxldGVkX2Rlc2MpDQo+ID4gPiArew0KPiA+ ID4gKyAgICAgdTMyIGluW01MWDVfU1RfU1pfRFcocXVlcnlfdmlydGlvX3FfY291bnRlcnNfaW4p XSA9IHt9Ow0KPiA+ID4gKyAgICAgdTMyIG91dFtNTFg1X1NUX1NaX0RXKHF1ZXJ5X3ZpcnRpb19x X2NvdW50ZXJzX291dCldID0ge307DQo+ID4gPiArICAgICB2b2lkICpjbWRfaGRyOw0KPiA+ID4g KyAgICAgdm9pZCAqY3R4Ow0KPiA+ID4gKyAgICAgaW50IGVycjsNCj4gPiA+ICsNCj4gPiA+ICsg ICAgIGlmICghY291bnRlcnNfc3VwcG9ydGVkKCZuZGV2LT5tdmRldikpDQo+ID4gPiArICAgICAg ICAgICAgIHJldHVybiAtRU9QTk9UU1VQUDsNCj4gPiA+ICsNCj4gPiA+ICsgICAgIGlmIChtdnEt PmZ3X3N0YXRlICE9IE1MWDVfVklSVElPX05FVF9RX09CSkVDVF9TVEFURV9SRFkpDQo+ID4gPiAr ICAgICAgICAgICAgIHJldHVybiAtRUFHQUlOOw0KPiA+ID4gKw0KPiA+ID4gKyAgICAgY21kX2hk ciA9IE1MWDVfQUREUl9PRihxdWVyeV92aXJ0aW9fcV9jb3VudGVyc19pbiwgaW4sIGhkcik7DQo+ ID4gPiArDQo+ID4gPiArICAgICBNTFg1X1NFVChnZW5lcmFsX29ial9pbl9jbWRfaGRyLCBjbWRf aGRyLCBvcGNvZGUsIE1MWDVfQ01EX09QX1FVRVJZX0dFTkVSQUxfT0JKRUNUKTsNCj4gPiA+ICsg ICAgIE1MWDVfU0VUKGdlbmVyYWxfb2JqX2luX2NtZF9oZHIsIGNtZF9oZHIsIG9ial90eXBlLCBN TFg1X09CSl9UWVBFX1ZJUlRJT19RX0NPVU5URVJTKTsNCj4gPiA+ICsgICAgIE1MWDVfU0VUKGdl bmVyYWxfb2JqX2luX2NtZF9oZHIsIGNtZF9oZHIsIHVpZCwgbmRldi0+bXZkZXYucmVzLnVpZCk7 DQo+ID4gPiArICAgICBNTFg1X1NFVChnZW5lcmFsX29ial9pbl9jbWRfaGRyLCBjbWRfaGRyLCBv YmpfaWQsIG12cS0+Y291bnRlcl9zZXRfaWQpOw0KPiA+ID4gKw0KPiA+ID4gKyAgICAgZXJyID0g bWx4NV9jbWRfZXhlYyhuZGV2LT5tdmRldi5tZGV2LCBpbiwgc2l6ZW9mKGluKSwgb3V0LCBzaXpl b2Yob3V0KSk7DQo+ID4gPiArICAgICBpZiAoZXJyKQ0KPiA+ID4gKyAgICAgICAgICAgICByZXR1 cm4gZXJyOw0KPiA+ID4gKw0KPiA+ID4gKyAgICAgY3R4ID0gTUxYNV9BRERSX09GKHF1ZXJ5X3Zp cnRpb19xX2NvdW50ZXJzX291dCwgb3V0LCBjb3VudGVycyk7DQo+ID4gPiArICAgICAqcmVjZWl2 ZWRfZGVzYyA9IE1MWDVfR0VUNjQodmlydGlvX3FfY291bnRlcnMsIGN0eCwgcmVjZWl2ZWRfZGVz Yyk7DQo+ID4gPiArICAgICAqY29tcGxldGVkX2Rlc2MgPSBNTFg1X0dFVDY0KHZpcnRpb19xX2Nv dW50ZXJzLCBjdHgsIGNvbXBsZXRlZF9kZXNjKTsNCj4gPiA+ICsgICAgIHJldHVybiAwOw0KPiA+ ID4gK30NCj4gPiA+ICsNCj4gPiA+ICtzdGF0aWMgaW50IG1seDVfdmRwYV9nZXRfdmVuZG9yX3Zx X3N0YXRzKHN0cnVjdCB2ZHBhX2RldmljZSAqdmRldiwgdTE2IGlkeCwNCj4gPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBza19idWZmICptc2csDQo+ID4g PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbmV0bGlua19l eHRfYWNrICpleHRhY2spDQo+ID4gPiArew0KPiA+ID4gKyAgICAgc3RydWN0IG1seDVfdmRwYV9k ZXYgKm12ZGV2ID0gdG9fbXZkZXYodmRldik7DQo+ID4gPiArICAgICBzdHJ1Y3QgbWx4NV92ZHBh X25ldCAqbmRldiA9IHRvX21seDVfdmRwYV9uZGV2KG12ZGV2KTsNCj4gPiA+ICsgICAgIHN0cnVj dCBtbHg1X3ZkcGFfdmlydHF1ZXVlICptdnE7DQo+ID4gPiArICAgICBzdHJ1Y3QgbWx4NV9jb250 cm9sX3ZxICpjdnE7DQo+ID4gPiArICAgICB1NjQgcmVjZWl2ZWRfZGVzYzsNCj4gPiA+ICsgICAg IHU2NCBjb21wbGV0ZWRfZGVzYzsNCj4gPiA+ICsgICAgIGludCBlcnIgPSAwOw0KPiA+ID4gKyAg ICAgdTE2IG1heF92cXA7DQo+ID4gPiArDQo+ID4gPiArICAgICBtdXRleF9sb2NrKCZuZGV2LT5y ZXNsb2NrKTsNCj4gPiBJIHdvbmRlciBpZiB3ZSBjYW4gY2hhbmdlIHRoaXMgbG9jayB0byByL3cg c2VtYXBob3JlIHRvbywgb3RoZXJ3aXNlIGl0DQo+ID4gYWxtb3N0IGRlZmVhdHMgdGhlIG1lcml0 IG9mIGNvbnZlcnRpbmcgdmRwYV9kZXZfbXV0ZXggdG8gdGhlIHNhbWUuIFRoaXMNCj4gPiBjaGFu Z2Ugd291bGQgYmVuZWZpdCBtdWx0aXBsZSBwYXJhbGxlbCByZWFkZXJzLg0KPiA+ID4gKyAgICAg aWYgKCEobmRldi0+bXZkZXYuc3RhdHVzICYgVklSVElPX0NPTkZJR19TX0ZFQVRVUkVTX09LKSkg ew0KPiA+ID4gKyAgICAgICAgICAgICBOTF9TRVRfRVJSX01TR19NT0QoZXh0YWNrLCAiZmVhdHVy ZSBuZWdvdGlhdGlvbiBub3QgY29tcGxldGUiKTsNCj4gPiA+ICsgICAgICAgICAgICAgZXJyID0g LUVBR0FJTjsNCj4gPiA+ICsgICAgICAgICAgICAgZ290byBvdXRfZXJyOw0KPiA+ID4gKyAgICAg fQ0KPiA+ID4gKw0KPiA+ID4gKyAgICAgaWYgKCFpc19pbmRleF92YWxpZChtdmRldiwgaWR4KSkg ew0KPiA+ID4gKyAgICAgICAgICAgICBOTF9TRVRfRVJSX01TR19NT0QoZXh0YWNrLCAidmlydHF1 ZXVlIGluZGV4IGlzIG5vdCB2YWxpZCIpOw0KPiA+ID4gKyAgICAgICAgICAgICBlcnIgPSAtRUlO VkFMOw0KPiA+ID4gKyAgICAgICAgICAgICBnb3RvIG91dF9lcnI7DQo+ID4gPiArICAgICB9DQo+ ID4gPiArDQo+ID4gPiArICAgICBpZiAoaWR4ID09IGN0cmxfdnFfaWR4KG12ZGV2KSkgew0KPiA+ ID4gKyAgICAgICAgICAgICBjdnEgPSAmbXZkZXYtPmN2cTsNCj4gPiA+ICsgICAgICAgICAgICAg cmVjZWl2ZWRfZGVzYyA9IGN2cS0+cmVjZWl2ZWRfZGVzYzsNCj4gPiA+ICsgICAgICAgICAgICAg Y29tcGxldGVkX2Rlc2MgPSBjdnEtPmNvbXBsZXRlZF9kZXNjOw0KPiA+ID4gKyAgICAgICAgICAg ICBnb3RvIG91dDsNCj4gPiA+ICsgICAgIH0NCj4gPiA+ICsNCj4gPiA+ICsgICAgIG12cSA9ICZu ZGV2LT52cXNbaWR4XTsNCj4gPiA+ICsgICAgIGVyciA9IGNvdW50ZXJfc2V0X3F1ZXJ5KG5kZXYs IG12cSwgJnJlY2VpdmVkX2Rlc2MsICZjb21wbGV0ZWRfZGVzYyk7DQo+ID4gPiArICAgICBpZiAo ZXJyKSB7DQo+ID4gPiArICAgICAgICAgICAgIE5MX1NFVF9FUlJfTVNHX01PRChleHRhY2ssICJm YWlsZWQgdG8gcXVlcnkgaGFyZHdhcmUiKTsNCj4gPiA+ICsgICAgICAgICAgICAgZ290byBvdXRf ZXJyOw0KPiA+ID4gKyAgICAgfQ0KPiA+ID4gKw0KPiA+ID4gK291dDoNCj4gPiA+ICsgICAgIGVy ciA9IC1FTVNHU0laRTsNCj4gPiA+ICsgICAgIGlmIChubGFfcHV0X3U2NF82NGJpdChtc2csIFZE UEFfQVRUUl9ERVZfTkVHT1RJQVRFRF9GRUFUVVJFUywNCj4gPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICBtdmRldi0+YWN0dWFsX2ZlYXR1cmVzLCBWRFBBX0FUVFJfUEFEKSkNCj4gPiA+ ICsgICAgICAgICAgICAgZ290byBvdXRfZXJyOw0KPiA+ID4gKw0KPiA+ID4gKyAgICAgbWF4X3Zx cCA9IG1seDV2ZHBhMTZfdG9fY3B1KG12ZGV2LCBuZGV2LT5jb25maWcubWF4X3ZpcnRxdWV1ZV9w YWlycyk7DQo+ID4gPiArICAgICBpZiAobmxhX3B1dF91MTYobXNnLCBWRFBBX0FUVFJfREVWX05F VF9DRkdfTUFYX1ZRUCwgbWF4X3ZxcCkpDQo+ID4gPiArICAgICAgICAgICAgIGdvdG8gb3V0X2Vy cjsNCj4gPiBZb3VyIHVzZXJzcGFjZSByZWZlcmVuY2UgcGF0Y2ggZG9lc24ndCBhY3R1YWxseSB1 c2UgdGhpcyBhdHRyaWJ1dGUsIGJ1dA0KPiA+IGluc3RlYWQgY2FsbHMgdGhlIFZEUEFfQ01EX0RF Vl9DT05GSUdfR0VUIGluIHByaW9yIHRvIGdldCB0aGlzDQo+ID4gaW5mb3JtYXRpb24sIHdoaWNo IHdpbGwgYnJlYWsgY29uc2lzdGVuY3kuIElzIGl0IHlvdXIgcGxhbiB0byBjaGFuZ2UgdGhlDQo+ ID4gdXNlcnNwYWNlIGNvZGUgdG8gYWNjb21tb2RhdGUgd2hhdCdzIGFscmVhZHkgcGlnZ3liYWNr ZWQgaGVyZSBhbmQNCj4gPiBkaXNwbGF5IHN0YXQgcXVlcnkgaW4ganVzdCBvbmUgYXRvbWljIGNh bGw/IEhvcGUgYWxsIHRoZSBhdmFpbGFibGUgYXR0cnMNCj4gPiBoZXJlIHdvdWxkIHNhdGlzZnkg dGhlIHVzZXJzcGFjZSBuZWVkLg0KPiANCj4gUmlnaHQsIEkgbWVudGlvbmVkIHRoaXMgaW4gVjQu DQoNCkkgbWF5IGhhdmUgbWlzc2VkIHRoYXQgZW1haWwuDQoNCkFueXdheXMsIHNlZW1zIGxpa2Ug SSBzZW50IG92ZXIgdGhlIG9sZCB2ZXJzaW9uIG9mIHRoZSBwYXRjaCB3aGljaCBtYXRjaGVkIHRo ZSBvbGRlciBrZXJuZWwgaW1wbGVtZW50YXRpb24uDQpMZXQgbWUgc2VuZCBpdCBvdmVyIGFnYWlu Lg0KDQo+IElmIHdlIGRlcGVuZCBvbiB0aGUgdmVuZG9yIGRyaXZlciB0bw0KPiByZXBvcnQgdGhl IG5lZ290aWF0ZWQgZmVhdHVyZXMsIHdlIHdpbGwgZW5kIHVwIGRyaXZlciBzcGVjaWZpYyBjb2Rl IGluDQo+IHRoZSB1c2Vyc3BhY2Ugd2hpY2ggaXMgc3ViLW9wdGltYWwuDQo+IA0KPiBJIHRoaW5r IHdlIG5lZWQgdG8gZG8gdGhpcyBpbiB0aGUgdmRwYSBjb3JlIHNvIHVzZXJzcGFjZSBrbm93cyBm b3INCj4gc3VyZSBpdCBjYW4gZ2V0IHRoaXMuDQoNCk9LLCAgc28gSSB3aWxsIHJlc2VuZCBhIG5l dyBzZXJpZXMgYW5kIGluY2x1ZGUgdGhlIHJ3X3NlbWFwaG9yZSBwYXRjaCBpbiB0aGUgbGlzdC4N Cg0KPiANCj4gVEhhbmtzDQo+IA0KPiA+DQo+ID4gVGhhbmtzLA0KPiA+IC1TaXdlaQ0KPiA+DQo+ ID4gPiArDQo+ID4gPiArICAgICBpZiAobmxhX3B1dF9zdHJpbmcobXNnLCBWRFBBX0FUVFJfREVW X1ZFTkRPUl9BVFRSX05BTUUsICJyZWNlaXZlZF9kZXNjIikpDQo+ID4gPiArICAgICAgICAgICAg IGdvdG8gb3V0X2VycjsNCj4gPiA+ICsNCj4gPiA+ICsgICAgIGlmIChubGFfcHV0X3U2NF82NGJp dChtc2csIFZEUEFfQVRUUl9ERVZfVkVORE9SX0FUVFJfVkFMVUUsIHJlY2VpdmVkX2Rlc2MsDQo+ ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgVkRQQV9BVFRSX1BBRCkpDQo+ID4gPiAr ICAgICAgICAgICAgIGdvdG8gb3V0X2VycjsNCj4gPiA+ICsNCj4gPiA+ICsgICAgIGlmIChubGFf cHV0X3N0cmluZyhtc2csIFZEUEFfQVRUUl9ERVZfVkVORE9SX0FUVFJfTkFNRSwgImNvbXBsZXRl ZF9kZXNjIikpDQo+ID4gPiArICAgICAgICAgICAgIGdvdG8gb3V0X2VycjsNCj4gPiA+ICsNCj4g PiA+ICsgICAgIGlmIChubGFfcHV0X3U2NF82NGJpdChtc2csIFZEUEFfQVRUUl9ERVZfVkVORE9S X0FUVFJfVkFMVUUsIGNvbXBsZXRlZF9kZXNjLA0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIFZEUEFfQVRUUl9QQUQpKQ0KPiA+ID4gKyAgICAgICAgICAgICBnb3RvIG91dF9lcnI7 DQo+ID4gPiArDQo+ID4gPiArICAgICBlcnIgPSAwOw0KPiA+ID4gK291dF9lcnI6DQo+ID4gPiAr ICAgICBtdXRleF91bmxvY2soJm5kZXYtPnJlc2xvY2spOw0KPiA+ID4gKyAgICAgcmV0dXJuIGVy cjsNCj4gPiA+ICt9DQo+ID4gPiArDQo+ID4gPiAgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdmRwYV9j b25maWdfb3BzIG1seDVfdmRwYV9vcHMgPSB7DQo+ID4gPiAgICAgICAuc2V0X3ZxX2FkZHJlc3Mg PSBtbHg1X3ZkcGFfc2V0X3ZxX2FkZHJlc3MsDQo+ID4gPiAgICAgICAuc2V0X3ZxX251bSA9IG1s eDVfdmRwYV9zZXRfdnFfbnVtLA0KPiA+ID4gQEAgLTI0NTEsNiArMjYxNSw3IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgdmRwYV9jb25maWdfb3BzIG1seDVfdmRwYV9vcHMgPSB7DQo+ID4gPiAgICAg ICAuZ2V0X3ZxX3JlYWR5ID0gbWx4NV92ZHBhX2dldF92cV9yZWFkeSwNCj4gPiA+ICAgICAgIC5z ZXRfdnFfc3RhdGUgPSBtbHg1X3ZkcGFfc2V0X3ZxX3N0YXRlLA0KPiA+ID4gICAgICAgLmdldF92 cV9zdGF0ZSA9IG1seDVfdmRwYV9nZXRfdnFfc3RhdGUsDQo+ID4gPiArICAgICAuZ2V0X3ZlbmRv cl92cV9zdGF0cyA9IG1seDVfdmRwYV9nZXRfdmVuZG9yX3ZxX3N0YXRzLA0KPiA+ID4gICAgICAg LmdldF92cV9ub3RpZmljYXRpb24gPSBtbHg1X2dldF92cV9ub3RpZmljYXRpb24sDQo+ID4gPiAg ICAgICAuZ2V0X3ZxX2lycSA9IG1seDVfZ2V0X3ZxX2lycSwNCj4gPiA+ICAgICAgIC5nZXRfdnFf YWxpZ24gPSBtbHg1X3ZkcGFfZ2V0X3ZxX2FsaWduLA0KPiA+ID4gZGlmZiAtLWdpdCBhL2luY2x1 ZGUvbGludXgvbWx4NS9tbHg1X2lmYy5oIGIvaW5jbHVkZS9saW51eC9tbHg1L21seDVfaWZjLmgN Cj4gPiA+IGluZGV4IDQ5YTQ4ZDc3MDlhYy4uMWQxOTNkOWI2MDI5IDEwMDY0NA0KPiA+ID4gLS0t IGEvaW5jbHVkZS9saW51eC9tbHg1L21seDVfaWZjLmgNCj4gPiA+ICsrKyBiL2luY2x1ZGUvbGlu dXgvbWx4NS9tbHg1X2lmYy5oDQo+ID4gPiBAQCAtOTQsNiArOTQsNyBAQCBlbnVtIHsNCj4gPiA+ ICAgZW51bSB7DQo+ID4gPiAgICAgICBNTFg1X09CSl9UWVBFX0dFTkVWRV9UTFZfT1BUID0gMHgw MDBiLA0KPiA+ID4gICAgICAgTUxYNV9PQkpfVFlQRV9WSVJUSU9fTkVUX1EgPSAweDAwMGQsDQo+ ID4gPiArICAgICBNTFg1X09CSl9UWVBFX1ZJUlRJT19RX0NPVU5URVJTID0gMHgwMDFjLA0KPiA+ ID4gICAgICAgTUxYNV9PQkpfVFlQRV9NQVRDSF9ERUZJTkVSID0gMHgwMDE4LA0KPiA+ID4gICAg ICAgTUxYNV9PQkpfVFlQRV9NS0VZID0gMHhmZjAxLA0KPiA+ID4gICAgICAgTUxYNV9PQkpfVFlQ RV9RUCA9IDB4ZmYwMiwNCj4gPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21seDUvbWx4 NV9pZmNfdmRwYS5oIGIvaW5jbHVkZS9saW51eC9tbHg1L21seDVfaWZjX3ZkcGEuaA0KPiA+ID4g aW5kZXggMWE5YzlkOTRjYjU5Li40NDE0ZWQ1YjZlZDIgMTAwNjQ0DQo+ID4gPiAtLS0gYS9pbmNs dWRlL2xpbnV4L21seDUvbWx4NV9pZmNfdmRwYS5oDQo+ID4gPiArKysgYi9pbmNsdWRlL2xpbnV4 L21seDUvbWx4NV9pZmNfdmRwYS5oDQo+ID4gPiBAQCAtMTY1LDQgKzE2NSw0MyBAQCBzdHJ1Y3Qg bWx4NV9pZmNfbW9kaWZ5X3ZpcnRpb19uZXRfcV9vdXRfYml0cyB7DQo+ID4gPiAgICAgICBzdHJ1 Y3QgbWx4NV9pZmNfZ2VuZXJhbF9vYmpfb3V0X2NtZF9oZHJfYml0cyBnZW5lcmFsX29ial9vdXRf Y21kX2hkcjsNCj4gPiA+ICAgfTsNCj4gPiA+DQo+ID4gPiArc3RydWN0IG1seDVfaWZjX3ZpcnRp b19xX2NvdW50ZXJzX2JpdHMgew0KPiA+ID4gKyAgICAgdTggICAgbW9kaWZ5X2ZpZWxkX3NlbGVj dFsweDQwXTsNCj4gPiA+ICsgICAgIHU4ICAgIHJlc2VydmVkX2F0XzQwWzB4NDBdOw0KPiA+ID4g KyAgICAgdTggICAgcmVjZWl2ZWRfZGVzY1sweDQwXTsNCj4gPiA+ICsgICAgIHU4ICAgIGNvbXBs ZXRlZF9kZXNjWzB4NDBdOw0KPiA+ID4gKyAgICAgdTggICAgZXJyb3JfY3Flc1sweDIwXTsNCj4g PiA+ICsgICAgIHU4ICAgIGJhZF9kZXNjX2Vycm9yc1sweDIwXTsNCj4gPiA+ICsgICAgIHU4ICAg IGV4Y2VlZF9tYXhfY2hhaW5bMHgyMF07DQo+ID4gPiArICAgICB1OCAgICBpbnZhbGlkX2J1ZmZl clsweDIwXTsNCj4gPiA+ICsgICAgIHU4ICAgIHJlc2VydmVkX2F0XzE4MFsweDI4MF07DQo+ID4g PiArfTsNCj4gPiA+ICsNCj4gPiA+ICtzdHJ1Y3QgbWx4NV9pZmNfY3JlYXRlX3ZpcnRpb19xX2Nv dW50ZXJzX2luX2JpdHMgew0KPiA+ID4gKyAgICAgc3RydWN0IG1seDVfaWZjX2dlbmVyYWxfb2Jq X2luX2NtZF9oZHJfYml0cyBoZHI7DQo+ID4gPiArICAgICBzdHJ1Y3QgbWx4NV9pZmNfdmlydGlv X3FfY291bnRlcnNfYml0cyB2aXJ0aW9fcV9jb3VudGVyczsNCj4gPiA+ICt9Ow0KPiA+ID4gKw0K PiA+ID4gK3N0cnVjdCBtbHg1X2lmY19jcmVhdGVfdmlydGlvX3FfY291bnRlcnNfb3V0X2JpdHMg ew0KPiA+ID4gKyAgICAgc3RydWN0IG1seDVfaWZjX2dlbmVyYWxfb2JqX2luX2NtZF9oZHJfYml0 cyBoZHI7DQo+ID4gPiArICAgICBzdHJ1Y3QgbWx4NV9pZmNfdmlydGlvX3FfY291bnRlcnNfYml0 cyB2aXJ0aW9fcV9jb3VudGVyczsNCj4gPiA+ICt9Ow0KPiA+ID4gKw0KPiA+ID4gK3N0cnVjdCBt bHg1X2lmY19kZXN0cm95X3ZpcnRpb19xX2NvdW50ZXJzX2luX2JpdHMgew0KPiA+ID4gKyAgICAg c3RydWN0IG1seDVfaWZjX2dlbmVyYWxfb2JqX2luX2NtZF9oZHJfYml0cyBoZHI7DQo+ID4gPiAr fTsNCj4gPiA+ICsNCj4gPiA+ICtzdHJ1Y3QgbWx4NV9pZmNfZGVzdHJveV92aXJ0aW9fcV9jb3Vu dGVyc19vdXRfYml0cyB7DQo+ID4gPiArICAgICBzdHJ1Y3QgbWx4NV9pZmNfZ2VuZXJhbF9vYmpf b3V0X2NtZF9oZHJfYml0cyBoZHI7DQo+ID4gPiArfTsNCj4gPiA+ICsNCj4gPiA+ICtzdHJ1Y3Qg bWx4NV9pZmNfcXVlcnlfdmlydGlvX3FfY291bnRlcnNfaW5fYml0cyB7DQo+ID4gPiArICAgICBz dHJ1Y3QgbWx4NV9pZmNfZ2VuZXJhbF9vYmpfaW5fY21kX2hkcl9iaXRzIGhkcjsNCj4gPiA+ICt9 Ow0KPiA+ID4gKw0KPiA+ID4gK3N0cnVjdCBtbHg1X2lmY19xdWVyeV92aXJ0aW9fcV9jb3VudGVy c19vdXRfYml0cyB7DQo+ID4gPiArICAgICBzdHJ1Y3QgbWx4NV9pZmNfZ2VuZXJhbF9vYmpfaW5f Y21kX2hkcl9iaXRzIGhkcjsNCj4gPiA+ICsgICAgIHN0cnVjdCBtbHg1X2lmY192aXJ0aW9fcV9j b3VudGVyc19iaXRzIGNvdW50ZXJzOw0KPiA+ID4gK307DQo+ID4gPiArDQo+ID4gPiAgICNlbmRp ZiAvKiBfX01MWDVfSUZDX1ZEUEFfSF8gKi8NCj4gPg0KDQo=