From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7E549C4360C for ; Thu, 26 Sep 2019 13:38:12 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4963E222C0 for ; Thu, 26 Sep 2019 13:38:12 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Xx+b+9UZ"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=synopsys.com header.i=@synopsys.com header.b="ZFL+lxVk"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=synopsys.onmicrosoft.com header.i=@synopsys.onmicrosoft.com header.b="lp1BeT9w" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4963E222C0 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=synopsys.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: Message-ID:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=PQkGPzi398EBgZZppbgh06dZ72Gf2wwNaS3Xg0VeVLI=; b=Xx+b+9UZN0lqFz sWWpFHmFgH7YFkTHf+nFtfjkpPxG/e+tQ6wAL8KXOhNkYItsuukToafFAHh1HxHFkThBTX7etCUgH Tlokkls691t4CM7+CvZrfHOLCzqwul1QA1CFYLwIpcO0HqR0oNeUf9846sbvaSTjevgUeNz1KNzM4 0bpIOhfPhO3AZbI8AnJLrdGfpEr5fFX2I1RFAqmji4k2WCeJuoeKTULUsWeXOu7SkyyXo0YYQp5dJ o6aOUt8w+JBKNSnTh0pli+z2EN6xs1pegRbY3+tXlzSbQdPtbBxNPw2LrrFu77dpP5JjseZRGh7VH jk/XRVCO/42ipOX+i28Q==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.2 #3 (Red Hat Linux)) id 1iDTyF-0006fO-Rn; Thu, 26 Sep 2019 13:38:11 +0000 Received: from dc8-smtprelay2.synopsys.com ([198.182.47.102] helo=smtprelay-out1.synopsys.com) by bombadil.infradead.org with esmtps (Exim 4.92.2 #3 (Red Hat Linux)) id 1iDTyB-0006f2-IX for linux-arm-kernel@lists.infradead.org; Thu, 26 Sep 2019 13:38:10 +0000 Received: from mailhost.synopsys.com (badc-mailhost2.synopsys.com [10.192.0.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by smtprelay-out1.synopsys.com (Postfix) with ESMTPS id BB751C0361; Thu, 26 Sep 2019 13:38:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=synopsys.com; s=mail; t=1569505087; bh=anPQu6k+Yb+MmUjOaMVMzSS4BNZBSEbjFOpjlS3fSZk=; h=From:To:CC:Subject:Date:References:In-Reply-To:From; b=ZFL+lxVku5X+RaCT8W3EfgcZzSmuqykGsyi3BWDvE9PFUyh4h7hBEhrL1ZOD5r1g6 9WVYnTZr3rbPd/36W282WjTqp4ZB3cSlTcXUa1xtcfTlcqUG/pxJxqdnnKdFXyg6Ml V0zNamyX6qBGZ3jH/mtF0NQtyOrPD8pWqjOMRHm8fNyoEbhmg+rzI4ZSGXSl0ZQs2B 174mxl5kf7sR1fdIYfw9LeshyeapRRGgTdHjNG5ZzuqlPsdBTMlTyKbD3cx0/1BJWO 0eBpsfmOwwgDsPa9U2u3tjnV8DUigYy/TKqG+flEsosFArgFT6fGiHCQO+sdiYbc2Z udNpb7xlkrr7A== Received: from US01WEHTC3.internal.synopsys.com (us01wehtc3.internal.synopsys.com [10.15.84.232]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mailhost.synopsys.com (Postfix) with ESMTPS id C961DA0067; Thu, 26 Sep 2019 13:38:05 +0000 (UTC) Received: from US01WEHTC2.internal.synopsys.com (10.12.239.237) by US01WEHTC3.internal.synopsys.com (10.15.84.232) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 26 Sep 2019 06:38:04 -0700 Received: from US01HYBRID2.internal.synopsys.com (10.15.246.24) by US01WEHTC2.internal.synopsys.com (10.12.239.237) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 26 Sep 2019 06:38:04 -0700 Received: from NAM01-BN3-obe.outbound.protection.outlook.com (10.13.134.195) by mrs.synopsys.com (10.15.246.24) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 26 Sep 2019 06:38:04 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eQzV58fygCHqQliA/UqXjtgbB0XswI0MYFrjO2uX7A+PrU7J7MjYRtzyUqs4qQkdNbvlvdFAoAj//VoJ1nGbFWOh1PpXmbY5h+CVfOIfnS4pMUny0B8Cbwg8pvMcGhn33Se9XfwuFhTbejyHEVefOG7WNLHN5W95/AoVYDzs7Hy1gjhgP8bHr1asQ7TTQ5qJ5uquQR+30wfGQAl2IcYz1h1bEhrQI3ky/fIsTRZU2K5Z8HM7FQ9PfILOXkeAvSRYuOg/3ljRDRS7+eDm33bG1TQcBCK3mU2/Iia4k7cScm4b5Jd58z0hFYMVX9mKKtvpEz+KwCDsOWZlbPC3peLJhg== 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=anPQu6k+Yb+MmUjOaMVMzSS4BNZBSEbjFOpjlS3fSZk=; b=WFFjgI1u5pznrwwZpkbUW4xkPS1Q9FqczfsJDvFV8Ic4JAVU2Rb4yEz3T9SF+LfCOvEe2R7AOYrozHb78gKZGzLFgv0FEw2J9YWszVeNSIoxYX+QBk2gnVYxckup6WPC1CM7pvAuB5Zi5dwK2xYqwnn20txRLNLwNUTlEBJiV7ihAfmEr3QdYvPSSeGJIdAtJ9Nk+voaUIgYkd2qBJwYHkt4g2UCmffPY2xa8JK+GRu9oHjZ2VNeIz860VAkxrwc529vu98Kp1RhzKgxLhTNQf+nprNLKwlOyT6eXCMyxB9xWDYipbFcd3uVhkSL2fO/eQewO0tatZpXHPGLlXjCfw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=synopsys.com; dmarc=pass action=none header.from=synopsys.com; dkim=pass header.d=synopsys.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=synopsys.onmicrosoft.com; s=selector2-synopsys-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=anPQu6k+Yb+MmUjOaMVMzSS4BNZBSEbjFOpjlS3fSZk=; b=lp1BeT9wUGp7Z6eZRwTL/my2gTt2oxTnWuafpuvefppTKecIErYeT7gdk44k+QCUlDVx8D4AfC0g92Qh7vfBvgYVrpTqqeNfsxkN6HGcWj2Dv1mnMpvLrtluyFL6T7ypwkxcyFv2Vg4WeidMMW5igy4pepsnhc7dnPUekesDo6o= Received: from DM6PR12MB4010.namprd12.prod.outlook.com (10.255.175.83) by DM6PR12MB3114.namprd12.prod.outlook.com (20.178.31.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2284.26; Thu, 26 Sep 2019 13:38:02 +0000 Received: from DM6PR12MB4010.namprd12.prod.outlook.com ([fe80::dd4:2e5:e564:8684]) by DM6PR12MB4010.namprd12.prod.outlook.com ([fe80::dd4:2e5:e564:8684%5]) with mapi id 15.20.2284.028; Thu, 26 Sep 2019 13:38:02 +0000 From: Gustavo Pimentel To: Andrew Murray , Xiaowei Bao , "jingoohan1@gmail.com" , "gustavo.pimentel@synopsys.com" Subject: RE: [PATCH v3 01/11] PCI: designware-ep: Add multiple PFs support for DWC Thread-Topic: [PATCH v3 01/11] PCI: designware-ep: Add multiple PFs support for DWC Thread-Index: AQHVYT5yeDgVLPKNK0eCNRZM7HaL5acYk8IAgAC9MICAJJczAIAAMcUg Date: Thu, 26 Sep 2019 13:38:01 +0000 Message-ID: References: <20190902031716.43195-1-xiaowei.bao@nxp.com> <20190902031716.43195-2-xiaowei.bao@nxp.com> <20190902162608.GP9720@e119886-lin.cambridge.arm.com> <20190926102945.GD9720@e119886-lin.cambridge.arm.com> In-Reply-To: <20190926102945.GD9720@e119886-lin.cambridge.arm.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-dg-ref: =?utf-8?B?UEcxbGRHRStQR0YwSUc1dFBTSmliMlI1TG5SNGRDSWdjRDBpWXpwY2RYTmxj?= =?utf-8?B?bk5jWjNWemRHRjJiMXhoY0hCa1lYUmhYSEp2WVcxcGJtZGNNRGxrT0RRNVlq?= =?utf-8?B?WXRNekprTXkwMFlUUXdMVGcxWldVdE5tSTROR0poTWpsbE16VmlYRzF6WjNO?= =?utf-8?B?Y2JYTm5MV1E0TkRSbE5EbGhMV1V3TmpJdE1URmxPUzA1T0RobUxXWTRPVFJq?= =?utf-8?B?TWpjek9EQTBNbHhoYldVdGRHVnpkRnhrT0RRMFpUUTVZaTFsTURZeUxURXha?= =?utf-8?B?VGt0T1RnNFppMW1PRGswWXpJM016Z3dOREppYjJSNUxuUjRkQ0lnYzNvOUlq?= =?utf-8?B?STNNemsxSWlCMFBTSXhNekl4TXprM09EWTNPVFF3T0RneU5EUWlJR2c5SWt4?= =?utf-8?B?V1EyOWlXRlU0Unk5eVVWbE1hVXhYZERGSVFUbG9jVk12UVQwaUlHbGtQU0lp?= =?utf-8?B?SUdKc1BTSXdJaUJpYnowaU1TSWdZMms5SW1OQlFVRkJSVkpJVlRGU1UxSlZS?= =?utf-8?B?azVEWjFWQlFVSlJTa0ZCUVRCME5EWmpZak5VVmtGU2NtaEdWVVJ0Wnk5WlpV?= =?utf-8?B?ZDFSVlpSVDJGRU9XZzBUMEZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRklRVUZCUVVOclEwRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGRlFVRlJRVUpCUVVGQlJVZEpXWHBSUVVGQlFVRkJRVUZCUVVGQlFVRkJT?= =?utf-8?B?alJCUVVGQ2JVRkhhMEZpWjBKb1FVYzBRVmwzUW14QlJqaEJZMEZDYzBGSFJV?= =?utf-8?B?RmlaMEoxUVVkclFXSm5RbTVCUmpoQlpIZENhRUZJVVVGYVVVSjVRVWN3UVZs?= =?utf-8?B?UlFubEJSM05CUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVWQlFVRkJRVUZCUVVG?= =?utf-8?B?QlowRkJRVUZCUVc1blFVRkJSMWxCWW5kQ01VRkhORUZhUVVKNVFVaHJRVmgz?= =?utf-8?B?UW5kQlIwVkJZMmRDTUVGSE5FRmFVVUo1UVVoTlFWaDNRbTVCUjFsQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRlJR?= =?utf-8?B?VUZCUVVGQlFVRkJRMEZCUVVGQlFVTmxRVUZCUVZwblFuWkJTRlZCWW1kQ2Ew?= =?utf-8?B?RklTVUZsVVVKbVFVaEJRVmxSUW5sQlNGRkJZbWRDYkVGSVNVRmpkMEptUVVo?= =?utf-8?B?TlFWbFJRblJCU0UxQlpGRkNkVUZIWTBGWWQwSnFRVWM0UVdKblFtMUJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZDUVVGQlFVRkJRVUZCUVVsQlFVRkJRVUZLTkVGQlFVSnRRVWM0?= =?utf-8?B?UVdSUlFuVkJSMUZCWTJkQ05VRkdPRUZqUVVKb1FVaEpRV1JCUW5WQlIxVkJZ?= =?utf-8?B?MmRDZWtGR09FRmpkMEpvUVVjd1FXTjNRakZCUnpSQlduZENaa0ZJU1VGYVVV?= =?utf-8?B?SjZRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlJVRkJRVUZCUVVGQlFVRm5RVUZCUVVGQmJt?= =?utf-8?B?ZEJRVUZIV1VGaWQwSXhRVWMwUVZwQlFubEJTR3RCV0hkQ2QwRkhSVUZqWjBJ?= =?utf-8?B?d1FVYzBRVnBSUW5sQlNFMUJXSGRDZWtGSE1FRmhVVUpxUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVkZCUVVGQlFVRkJRVUZE?= =?utf-8?B?UVVGQlFVRkJRMlZCUVVGQldtZENka0ZJVlVGaVowSnJRVWhKUVdWUlFtWkJT?= =?utf-8?B?RUZCV1ZGQ2VVRklVVUZpWjBKc1FVaEpRV04zUW1aQlNFMUJaRUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVKQlFV?= =?utf-8?B?RkJRVUZCUVVGQlNVRkJRVUZCUVVvMFFVRkJRbTFCUnpoQlpGRkNkVUZIVVVG?= =?utf-8?B?alowSTFRVVk0UVdOQlFtaEJTRWxCWkVGQ2RVRkhWVUZqWjBKNlFVWTRRV1JC?= =?utf-8?B?UW5wQlJ6QkJXWGRCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkZRVUZCUVVGQlFVRkJRV2RCUVVGQlFVRnVaMEZCUVVkWlFXSjNR?= =?utf-8?B?akZCUnpSQldrRkNlVUZJYTBGWWQwSjNRVWRGUVdOblFqQkJSelJCV2xGQ2VV?= =?utf-8?B?RklUVUZZZDBJeFFVY3dRVmwzUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCVVVGQlFVRkJRVUZCUVVOQlFVRkJRVUZEWlVG?= =?utf-8?B?QlFVRmFkMEl3UVVoTlFWaDNRbmRCU0VsQlluZENhMEZJVlVGWmQwSXdRVVk0?= =?utf-8?B?UVdSQlFubEJSMFZCWVZGQ2RVRkhhMEZpWjBKdVFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFrRkJRVUZCUVVGQlFVRkpR?= =?utf-8?B?VUZCUVVGQlNqUkJRVUZDZWtGSFJVRmlRVUpzUVVoTlFWaDNRbWhCUjAxQldY?= =?utf-8?B?ZENka0ZJVlVGaVowSXdRVVk0UVdOQlFuTkJSMFZCWW1kQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVVZCUVVG?= =?utf-8?B?QlFVRkJRVUZCWjBGQlFVRkJRVzVuUVVGQlNFMUJXVkZDYzBGSFZVRmpkMEpt?= =?utf-8?B?UVVoRlFXUlJRblpCU0ZGQldsRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGUlFVRkJRVUZCUVVGQlEwRkJRVUZCUVVObFFVRkJRV04zUW5WQlNF?= =?utf-8?B?RkJZM2RDWmtGSGQwRmhVVUpxUVVkVlFXSm5RbnBCUjFWQldIZENNRUZIVlVG?= =?utf-8?B?alowSjBRVVk0UVUxUlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkNRVUZCUVVGQlFVRkJRVWxCUVVGQlFVRktORUZC?= =?utf-8?B?UVVKNlFVYzBRV05CUW5wQlJqaEJZa0ZDY0VGSFRVRmFVVUoxUVVoTlFWcFJR?= =?utf-8?B?bVpCU0ZGQldsRkNlVUZITUVGWWQwSjZRVWhSUVdSUlFtdEJSMVZCWW1kQ01F?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUlVGQlFVRkJRVUZCUVVGblFV?= =?utf-8?B?RkJRVUZCYm1kQlFVRklXVUZhZDBKbVFVZHpRVnBSUWpWQlNHTkJZbmRDZVVG?= =?utf-8?B?SFVVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFWRkJRVUZC?= =?utf-8?Q?QUFBQUFDQUFBQUFBQT0iLz48L21ldGE+?= authentication-results: spf=none (sender IP is ) smtp.mailfrom=gustavo@synopsys.com; x-originating-ip: [83.174.63.141] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3b6b6759-8bfa-4cc9-31a0-08d74286c0a9 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600167)(711020)(4605104)(1401327)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020); SRVR:DM6PR12MB3114; x-ms-traffictypediagnostic: DM6PR12MB3114: x-ms-exchange-purlcount: 1 x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5516; x-forefront-prvs: 0172F0EF77 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(979002)(39860400002)(396003)(366004)(136003)(346002)(376002)(199004)(189003)(13464003)(6436002)(7736002)(54906003)(6636002)(81156014)(74316002)(81166006)(66946007)(66476007)(64756008)(229853002)(66556008)(7416002)(25786009)(966005)(6306002)(110136005)(2906002)(9686003)(3846002)(6116002)(55016002)(66446008)(305945005)(2201001)(14454004)(478600001)(76176011)(5660300002)(53546011)(6506007)(7696005)(102836004)(8936002)(99286004)(45080400002)(86362001)(6246003)(316002)(476003)(8676002)(486006)(186003)(26005)(11346002)(52536014)(33656002)(2501003)(71200400001)(256004)(446003)(71190400001)(30864003)(14444005)(76116006)(4326008)(66066001)(559001)(579004)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1102; SCL:1; SRVR:DM6PR12MB3114; H:DM6PR12MB4010.namprd12.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: synopsys.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: PquqA8DIaXTAxjSxrFejnc0mOZ07K3A5VY41eAz9mACVjpbXNtyYOuhNxYz7NGVzhBZBcupOxIr4d/rkb2c6iL8IXJpGfqqp08Sd1HdTHOh664QStpEfw/LHZpHN9uhG8D2J7bKELBE4HI9RfAdvWtmLgk5aW1anMRu2v2Llynm9gl4rim6K2679OJwgjB6yjwUwol5MNbEE3tHmk6/Z5tJaeNwNLOAvNrnZdBSqypgYqobgVzY0SwoQoJoCGy0KraZRXZa9l3kzu/NNm42EfYqB1malZ60hPZoWdAuXmmEUkI2bs+jfxTBKaRW922hjriHXu0AnTd0JpoLRnykz/mIZgxunbdVhPoa4GaLECOhZnqmNVW2p4rgVfnvosFCaVz31duY5s8QRssWEZdtostX3tvG/E1h9EH7ImwsxZCU= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 3b6b6759-8bfa-4cc9-31a0-08d74286c0a9 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Sep 2019 13:38:01.8750 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: c33c9f88-1eb7-4099-9700-16013fd9e8aa X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ui5LJeurZeOSVofVOX3Rcp/TfBCbWrmtvshsAQW2ZoswVzP+76tQuN1rze/P1rP0qZ+Invk66hm0cMChvTZ2rw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB3114 X-OriginatorOrg: synopsys.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190926_063807_639500_90D089F6 X-CRM114-Status: UNSURE ( 7.70 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "mark.rutland@arm.com" , Roy Zang , "lorenzo.pieralisi@arm.com" , "arnd@arndb.de" , "devicetree@vger.kernel.org" , "linux-pci@vger.kernel.org" , "Z.q. Hou" , "linuxppc-dev@lists.ozlabs.org" , "linux-kernel@vger.kernel.org" , "kishon@ti.com" , "M.h. Lian" , "robh+dt@kernel.org" , "linux-arm-kernel@lists.infradead.org" , "gregkh@linuxfoundation.org" , Leo Li , "shawnguo@kernel.org" , Mingkai Hu Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVGh1LCBTZXAgMjYsIDIwMTkgYXQgMTE6Mjk6NDYsIEFuZHJldyBNdXJyYXkgPGFuZHJldy5t dXJyYXlAYXJtLmNvbT4gDQp3cm90ZToNCg0KPiBPbiBUdWUsIFNlcCAwMywgMjAxOSBhdCAwMzo0 MzoxNUFNICswMDAwLCBYaWFvd2VpIEJhbyB3cm90ZToNCj4gPiANCj4gPiANCj4gPiA+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBBbmRyZXcgTXVycmF5IDxhbmRyZXcu bXVycmF5QGFybS5jb20+DQo+ID4gPiBTZW50OiAyMDE55bm0OeaciDPml6UgMDoyNg0KPiA+ID4g VG86IFhpYW93ZWkgQmFvIDx4aWFvd2VpLmJhb0BueHAuY29tPg0KPiA+ID4gQ2M6IHJvYmgrZHRA a2VybmVsLm9yZzsgbWFyay5ydXRsYW5kQGFybS5jb207IHNoYXduZ3VvQGtlcm5lbC5vcmc7IExl bw0KPiA+ID4gTGkgPGxlb3lhbmcubGlAbnhwLmNvbT47IGtpc2hvbkB0aS5jb207IGxvcmVuem8u cGllcmFsaXNpQGFybS5jb207IE0uaC4NCj4gPiA+IExpYW4gPG1pbmdodWFuLmxpYW5AbnhwLmNv bT47IE1pbmdrYWkgSHUgPG1pbmdrYWkuaHVAbnhwLmNvbT47IFJveQ0KPiA+ID4gWmFuZyA8cm95 LnphbmdAbnhwLmNvbT47IGppbmdvb2hhbjFAZ21haWwuY29tOw0KPiA+ID4gZ3VzdGF2by5waW1l bnRlbEBzeW5vcHN5cy5jb207IGxpbnV4LXBjaUB2Z2VyLmtlcm5lbC5vcmc7DQo+ID4gPiBkZXZp Y2V0cmVlQHZnZXIua2VybmVsLm9yZzsgbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsNCj4g PiA+IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZzsgbGludXhwcGMtZGV2QGxp c3RzLm96bGFicy5vcmc7DQo+ID4gPiBncmVna2hAbGludXhmb3VuZGF0aW9uLm9yZzsgWi5xLiBI b3UgPHpoaXFpYW5nLmhvdUBueHAuY29tPjsNCj4gPiA+IGFybmRAYXJuZGIuZGUNCj4gPiA+IFN1 YmplY3Q6IFJlOiBbUEFUQ0ggdjMgMDEvMTFdIFBDSTogZGVzaWdud2FyZS1lcDogQWRkIG11bHRp cGxlIFBGcyBzdXBwb3J0DQo+ID4gPiBmb3IgRFdDDQo+ID4gPiANCj4gPiA+IE9uIE1vbiwgU2Vw IDAyLCAyMDE5IGF0IDExOjE3OjA2QU0gKzA4MDAsIFhpYW93ZWkgQmFvIHdyb3RlOg0KPiA+ID4g PiBBZGQgbXVsdGlwbGUgUEZzIHN1cHBvcnQgZm9yIERXQywgZGlmZmVyZW50IFBGIGhhdmUgZGlm ZmVyZW50IGNvbmZpZw0KPiA+ID4gPiBzcGFjZSB3ZSB1c2UgcGYtb2Zmc2V0IHByb3BlcnR5IHdo aWNoIGdldCBmcm9tIHRoZSBEVFMgdG8gYWNjZXNzIHRoZQ0KPiA+ID4gPiBkaWZmZXJlbnQgcEYN Cj4gPiA+IA0KPiA+ID4gVGhpcyBuZWVkcyB0byBiZSB1cGRhdGVkIGFzIHRoaXMgbm8gbG9uZ2Vy IGNvbWVzIGZyb20gdGhlIERULg0KPiA+IA0KPiA+IFllcywgdGhhbmtzDQo+ID4gDQo+ID4gVGhh bmtzDQo+ID4gWGlhb3dlaQ0KPiA+IA0KPiA+ID4gDQo+ID4gPiA+IGNvbmZpZyBzcGFjZS4NCj4g PiA+ID4NCj4gPiA+ID4gU2lnbmVkLW9mZi1ieTogWGlhb3dlaSBCYW8gPHhpYW93ZWkuYmFvQG54 cC5jb20+DQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gV2UncmUgYXNzdW1pbmc6DQo+ID4gPiANCj4g PiA+ICAtIFRoZSBvZmZzZXQgYWRkcmVzcyAoZnVuY19vZmZzZXQpIGJldHdlZW4gUEYncyBpbiB0 aGUgbWVtb3J5IG1hcCBjYW4gYmUNCj4gPiA+ICAgIGRpZmZlcmVudCBiZXR3ZWVuIGRpZmZlcmVu dCBEV0MgaW1wbGVtZW50YXRpb25zLiBBbmQgYWxzbyB0aGF0IGl0J3MNCj4gPiA+ICAgIHBvc3Np YmxlIGZvciBEV0MgaW1wbGVtZW50YXRpb25zIHRvIGFkZHJlc3MgUEZzIHdpdGhvdXQgdXNpbmcg YW4gb2Zmc2V0Lg0KPiA+ID4gDQo+ID4gPiAgLSBUaGUgY3VycmVudCBhcHByb2FjaCBpcyBwcmVm ZXJhYmxlIHRvIGFkZGluZyBEV0MgRVAgZHJpdmVyIGNhbGxiYWNrcw0KPiA+ID4gICAgZm9yIHdy aXRpbmcgdG8gdGhlIEVQIGNvbmZpZyBzcGFjZSAoZS5nLiBhIHZhcmlhbnQgb2YgZHdfcGNpZV93 cml0ZXdfZGJpDQo+ID4gPiAgICB0aGF0IHRha2VzIGEgZnVuYyBudW1iZXIpLg0KPiA+IA0KPiA+ IEV2ZW4gaWYgdXNlIHRoZSBhIHZhcmlhbnQgb2YgZHdfcGNpZV93cml0ZXdfZGJpLCB3ZSBhbHNv IG5lZWQgYSBvZmZzZXQgdmFsdWUgZm9ybQ0KPiA+IGRpZmZlcmVudCBwbGF0Zm9ybSwgZHVlIHRv IHRoZSBkaWZmZXJlbnQgcGxhdGZvcm0gbWF5IGJlIGhhdmUgZGlmZmVyZW50IGltcGxlbWVudA0K PiA+IGFib3V0IHRoaXMsIHNvIEkgYW0gbm90IHN1cmUgaG93IHRvIGltcGxlbWVudCB0aGUgdmFy aWFudCBvZiBkd19wY2llX3dyaXRld19kYmk/DQo+ID4gICANCj4gPiA+IA0KPiA+ID4gSSdtIGtl ZW4gdG8gaGVhciBmZWVkYmFjayBmcm9tIEppbmdvby9HdXN0YXZvIG9uIHRoaXMuDQo+ID4gDQo+ ID4gT0ssIGV4cGVjdCB0aGUgZmVlZGJhY2suDQo+IA0KPiBIaSBKaW5nb28vR3VzdGF2bywNCj4g DQo+IEknbSBrZWVuIGZvciB5b3VyIHJldmlldy9mZWVkYmFjayBvbiB0aGlzLg0KDQpIaSwNCg0K VGhpcyBlcCBzZWN0aW9uIHdhcyBjcmVhdGVkIGJ5IEtpc2hvbiBpbml0aWFsbHksIGhlIGlzIG1h aW50YWluZXIgb2YgaXQuDQpCdXQgaXQgc2VlbXMgb2sgdG8gbWUuIEkndmUgc2VlbiB0aGUgcGF0 Y2ggYW5kIHNvdW5kcyBnb29kIHRvIG1lLiBJJ3ZlIA0KZ2l2ZW4gbXkgQWNrZWQgb24gdmVyc2lv biA0Lg0KDQpSZWdhcmRzLA0KR3VzdGF2bw0KDQo+IA0KPiBUaGFua3MsDQo+IA0KPiBBbmRyZXcg TXVycmF5DQo+IA0KPiA+IA0KPiA+IFRoYW5rcyANCj4gPiBYaWFvd2VpDQo+ID4gDQo+ID4gPiAN Cj4gPiA+IFRoYW5rcywNCj4gPiA+IA0KPiA+ID4gQW5kcmV3IE11cnJheQ0KPiA+ID4gDQo+ID4g PiA+IC0tLQ0KPiA+ID4gPiB2MjoNCj4gPiA+ID4gIC0gUmVtb3ZlIGR1cGxpY2F0ZSByZWR1bmRh bnQgY29kZS4NCj4gPiA+ID4gIC0gUmVpbXBsZW1lbnQgdGhlIFBGIGNvbmZpZyBzcGFjZSBhY2Nl c3Mgd2F5Lg0KPiA+ID4gPiB2MzoNCj4gPiA+ID4gIC0gSW50ZWdyYXRlIGR1cGxpY2F0ZSBjb2Rl IGZvciBmdW5jX3NlbGVjdC4NCj4gPiA+ID4gIC0gTW92ZSBQQ0lFX0FUVV9GVU5DX05VTShwZikg KHBmIDw8IDIwKSB0byAoKHBmKSA8PCAyMCkuDQo+ID4gPiA+ICAtIEFkZCB0aGUgY29tbWVudHMg Zm9yIGZ1bmNfY29uZl9zZWxlY3QgZnVuY3Rpb24uDQo+ID4gPiA+DQo+ID4gPiA+ICBkcml2ZXJz L3BjaS9jb250cm9sbGVyL2R3Yy9wY2llLWRlc2lnbndhcmUtZXAuYyB8IDEyMw0KPiA+ID4gKysr KysrKysrKysrKysrKy0tLS0tLS0tDQo+ID4gPiA+ICBkcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3 Yy9wY2llLWRlc2lnbndhcmUuYyAgICB8ICA1OSArKysrKysrKy0tLS0NCj4gPiA+ID4gIGRyaXZl cnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaWUtZGVzaWdud2FyZS5oICAgIHwgIDE4ICsrKy0NCj4g PiA+ID4gIDMgZmlsZXMgY2hhbmdlZCwgMTQyIGluc2VydGlvbnMoKyksIDU4IGRlbGV0aW9ucygt KQ0KPiA+ID4gPg0KPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvY29udHJvbGxlci9k d2MvcGNpZS1kZXNpZ253YXJlLWVwLmMNCj4gPiA+ID4gYi9kcml2ZXJzL3BjaS9jb250cm9sbGVy L2R3Yy9wY2llLWRlc2lnbndhcmUtZXAuYw0KPiA+ID4gPiBpbmRleCA2NWY0NzkyLi5lYjg1MWMy IDEwMDY0NA0KPiA+ID4gPiAtLS0gYS9kcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3Yy9wY2llLWRl c2lnbndhcmUtZXAuYw0KPiA+ID4gPiArKysgYi9kcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3Yy9w Y2llLWRlc2lnbndhcmUtZXAuYw0KPiA+ID4gPiBAQCAtMTksMTIgKzE5LDI2IEBAIHZvaWQgZHdf cGNpZV9lcF9saW5rdXAoc3RydWN0IGR3X3BjaWVfZXAgKmVwKQ0KPiA+ID4gPiAgCXBjaV9lcGNf bGlua3VwKGVwYyk7DQo+ID4gPiA+ICB9DQo+ID4gPiA+DQo+ID4gPiA+IC1zdGF0aWMgdm9pZCBf X2R3X3BjaWVfZXBfcmVzZXRfYmFyKHN0cnVjdCBkd19wY2llICpwY2ksIGVudW0gcGNpX2Jhcm5v DQo+ID4gPiBiYXIsDQo+ID4gPiA+IC0JCQkJICAgaW50IGZsYWdzKQ0KPiA+ID4gPiArc3RhdGlj IHVuc2lnbmVkIGludCBkd19wY2llX2VwX2Z1bmNfc2VsZWN0KHN0cnVjdCBkd19wY2llX2VwICpl cCwgdTgNCj4gPiA+ID4gK2Z1bmNfbm8pIHsNCj4gPiA+ID4gKwl1bnNpZ25lZCBpbnQgZnVuY19v ZmZzZXQgPSAwOw0KPiA+ID4gPiArDQo+ID4gPiA+ICsJaWYgKGVwLT5vcHMtPmZ1bmNfY29uZl9z ZWxlY3QpDQo+ID4gPiA+ICsJCWZ1bmNfb2Zmc2V0ID0gZXAtPm9wcy0+ZnVuY19jb25mX3NlbGVj dChlcCwgZnVuY19ubyk7DQo+ID4gPiA+ICsNCj4gPiA+ID4gKwlyZXR1cm4gZnVuY19vZmZzZXQ7 DQo+ID4gPiA+ICt9DQo+ID4gPiA+ICsNCj4gPiA+ID4gK3N0YXRpYyB2b2lkIF9fZHdfcGNpZV9l cF9yZXNldF9iYXIoc3RydWN0IGR3X3BjaWUgKnBjaSwgdTggZnVuY19ubywNCj4gPiA+ID4gKwkJ CQkgICBlbnVtIHBjaV9iYXJubyBiYXIsIGludCBmbGFncykNCj4gPiA+ID4gIHsNCj4gPiA+ID4g IAl1MzIgcmVnOw0KPiA+ID4gPiArCXVuc2lnbmVkIGludCBmdW5jX29mZnNldCA9IDA7DQo+ID4g PiA+ICsJc3RydWN0IGR3X3BjaWVfZXAgKmVwID0gJnBjaS0+ZXA7DQo+ID4gPiA+ICsNCj4gPiA+ ID4gKwlmdW5jX29mZnNldCA9IGR3X3BjaWVfZXBfZnVuY19zZWxlY3QoZXAsIGZ1bmNfbm8pOw0K PiA+ID4gPg0KPiA+ID4gPiAtCXJlZyA9IFBDSV9CQVNFX0FERFJFU1NfMCArICg0ICogYmFyKTsN Cj4gPiA+ID4gKwlyZWcgPSBmdW5jX29mZnNldCArIFBDSV9CQVNFX0FERFJFU1NfMCArICg0ICog YmFyKTsNCj4gPiA+ID4gIAlkd19wY2llX2RiaV9yb193cl9lbihwY2kpOw0KPiA+ID4gPiAgCWR3 X3BjaWVfd3JpdGVsX2RiaTIocGNpLCByZWcsIDB4MCk7DQo+ID4gPiA+ICAJZHdfcGNpZV93cml0 ZWxfZGJpKHBjaSwgcmVnLCAweDApOw0KPiA+ID4gPiBAQCAtMzcsNyArNTEsMTIgQEAgc3RhdGlj IHZvaWQgX19kd19wY2llX2VwX3Jlc2V0X2JhcihzdHJ1Y3QgZHdfcGNpZQ0KPiA+ID4gPiAqcGNp LCBlbnVtIHBjaV9iYXJubyBiYXIsDQo+ID4gPiA+DQo+ID4gPiA+ICB2b2lkIGR3X3BjaWVfZXBf cmVzZXRfYmFyKHN0cnVjdCBkd19wY2llICpwY2ksIGVudW0gcGNpX2Jhcm5vIGJhcikgIHsNCj4g PiA+ID4gLQlfX2R3X3BjaWVfZXBfcmVzZXRfYmFyKHBjaSwgYmFyLCAwKTsNCj4gPiA+ID4gKwl1 OCBmdW5jX25vLCBmdW5jczsNCj4gPiA+ID4gKw0KPiA+ID4gPiArCWZ1bmNzID0gcGNpLT5lcC5l cGMtPm1heF9mdW5jdGlvbnM7DQo+ID4gPiA+ICsNCj4gPiA+ID4gKwlmb3IgKGZ1bmNfbm8gPSAw OyBmdW5jX25vIDwgZnVuY3M7IGZ1bmNfbm8rKykNCj4gPiA+ID4gKwkJX19kd19wY2llX2VwX3Jl c2V0X2JhcihwY2ksIGZ1bmNfbm8sIGJhciwgMCk7DQo+ID4gPiA+ICB9DQo+ID4gPiA+DQo+ID4g PiA+ICBzdGF0aWMgaW50IGR3X3BjaWVfZXBfd3JpdGVfaGVhZGVyKHN0cnVjdCBwY2lfZXBjICpl cGMsIHU4IGZ1bmNfbm8sDQo+ID4gPiA+IEBAIC00NSwyOCArNjQsMzEgQEAgc3RhdGljIGludCBk d19wY2llX2VwX3dyaXRlX2hlYWRlcihzdHJ1Y3QgcGNpX2VwYw0KPiA+ID4gPiAqZXBjLCB1OCBm dW5jX25vLCAgew0KPiA+ID4gPiAgCXN0cnVjdCBkd19wY2llX2VwICplcCA9IGVwY19nZXRfZHJ2 ZGF0YShlcGMpOw0KPiA+ID4gPiAgCXN0cnVjdCBkd19wY2llICpwY2kgPSB0b19kd19wY2llX2Zy b21fZXAoZXApOw0KPiA+ID4gPiArCXVuc2lnbmVkIGludCBmdW5jX29mZnNldCA9IDA7DQo+ID4g PiA+ICsNCj4gPiA+ID4gKwlmdW5jX29mZnNldCA9IGR3X3BjaWVfZXBfZnVuY19zZWxlY3QoZXAs IGZ1bmNfbm8pOw0KPiA+ID4gPg0KPiA+ID4gPiAgCWR3X3BjaWVfZGJpX3JvX3dyX2VuKHBjaSk7 DQo+ID4gPiA+IC0JZHdfcGNpZV93cml0ZXdfZGJpKHBjaSwgUENJX1ZFTkRPUl9JRCwgaGRyLT52 ZW5kb3JpZCk7DQo+ID4gPiA+IC0JZHdfcGNpZV93cml0ZXdfZGJpKHBjaSwgUENJX0RFVklDRV9J RCwgaGRyLT5kZXZpY2VpZCk7DQo+ID4gPiA+IC0JZHdfcGNpZV93cml0ZWJfZGJpKHBjaSwgUENJ X1JFVklTSU9OX0lELCBoZHItPnJldmlkKTsNCj4gPiA+ID4gLQlkd19wY2llX3dyaXRlYl9kYmko cGNpLCBQQ0lfQ0xBU1NfUFJPRywgaGRyLT5wcm9naWZfY29kZSk7DQo+ID4gPiA+IC0JZHdfcGNp ZV93cml0ZXdfZGJpKHBjaSwgUENJX0NMQVNTX0RFVklDRSwNCj4gPiA+ID4gKwlkd19wY2llX3dy aXRld19kYmkocGNpLCBmdW5jX29mZnNldCArIFBDSV9WRU5ET1JfSUQsIGhkci0+dmVuZG9yaWQp Ow0KPiA+ID4gPiArCWR3X3BjaWVfd3JpdGV3X2RiaShwY2ksIGZ1bmNfb2Zmc2V0ICsgUENJX0RF VklDRV9JRCwgaGRyLT5kZXZpY2VpZCk7DQo+ID4gPiA+ICsJZHdfcGNpZV93cml0ZWJfZGJpKHBj aSwgZnVuY19vZmZzZXQgKyBQQ0lfUkVWSVNJT05fSUQsIGhkci0+cmV2aWQpOw0KPiA+ID4gPiAr CWR3X3BjaWVfd3JpdGViX2RiaShwY2ksIGZ1bmNfb2Zmc2V0ICsgUENJX0NMQVNTX1BST0csDQo+ ID4gPiBoZHItPnByb2dpZl9jb2RlKTsNCj4gPiA+ID4gKwlkd19wY2llX3dyaXRld19kYmkocGNp LCBmdW5jX29mZnNldCArIFBDSV9DTEFTU19ERVZJQ0UsDQo+ID4gPiA+ICAJCQkgICBoZHItPnN1 YmNsYXNzX2NvZGUgfCBoZHItPmJhc2VjbGFzc19jb2RlIDw8IDgpOw0KPiA+ID4gPiAtCWR3X3Bj aWVfd3JpdGViX2RiaShwY2ksIFBDSV9DQUNIRV9MSU5FX1NJWkUsDQo+ID4gPiA+ICsJZHdfcGNp ZV93cml0ZWJfZGJpKHBjaSwgZnVuY19vZmZzZXQgKyBQQ0lfQ0FDSEVfTElORV9TSVpFLA0KPiA+ ID4gPiAgCQkJICAgaGRyLT5jYWNoZV9saW5lX3NpemUpOw0KPiA+ID4gPiAtCWR3X3BjaWVfd3Jp dGV3X2RiaShwY2ksIFBDSV9TVUJTWVNURU1fVkVORE9SX0lELA0KPiA+ID4gPiArCWR3X3BjaWVf d3JpdGV3X2RiaShwY2ksIGZ1bmNfb2Zmc2V0ICsgUENJX1NVQlNZU1RFTV9WRU5ET1JfSUQsDQo+ ID4gPiA+ICAJCQkgICBoZHItPnN1YnN5c192ZW5kb3JfaWQpOw0KPiA+ID4gPiAtCWR3X3BjaWVf d3JpdGV3X2RiaShwY2ksIFBDSV9TVUJTWVNURU1fSUQsIGhkci0+c3Vic3lzX2lkKTsNCj4gPiA+ ID4gLQlkd19wY2llX3dyaXRlYl9kYmkocGNpLCBQQ0lfSU5URVJSVVBUX1BJTiwNCj4gPiA+ID4g Kwlkd19wY2llX3dyaXRld19kYmkocGNpLCBmdW5jX29mZnNldCArIFBDSV9TVUJTWVNURU1fSUQs DQo+ID4gPiBoZHItPnN1YnN5c19pZCk7DQo+ID4gPiA+ICsJZHdfcGNpZV93cml0ZWJfZGJpKHBj aSwgZnVuY19vZmZzZXQgKyBQQ0lfSU5URVJSVVBUX1BJTiwNCj4gPiA+ID4gIAkJCSAgIGhkci0+ aW50ZXJydXB0X3Bpbik7DQo+ID4gPiA+ICAJZHdfcGNpZV9kYmlfcm9fd3JfZGlzKHBjaSk7DQo+ ID4gPiA+DQo+ID4gPiA+ICAJcmV0dXJuIDA7DQo+ID4gPiA+ICB9DQo+ID4gPiA+DQo+ID4gPiA+ IC1zdGF0aWMgaW50IGR3X3BjaWVfZXBfaW5ib3VuZF9hdHUoc3RydWN0IGR3X3BjaWVfZXAgKmVw LCBlbnVtDQo+ID4gPiBwY2lfYmFybm8gYmFyLA0KPiA+ID4gPiAtCQkJCSAgZG1hX2FkZHJfdCBj cHVfYWRkciwNCj4gPiA+ID4gK3N0YXRpYyBpbnQgZHdfcGNpZV9lcF9pbmJvdW5kX2F0dShzdHJ1 Y3QgZHdfcGNpZV9lcCAqZXAsIHU4IGZ1bmNfbm8sDQo+ID4gPiA+ICsJCQkJICBlbnVtIHBjaV9i YXJubyBiYXIsIGRtYV9hZGRyX3QgY3B1X2FkZHIsDQo+ID4gPiA+ICAJCQkJICBlbnVtIGR3X3Bj aWVfYXNfdHlwZSBhc190eXBlKQ0KPiA+ID4gPiAgew0KPiA+ID4gPiAgCWludCByZXQ7DQo+ID4g PiA+IEBAIC03OSw3ICsxMDEsNyBAQCBzdGF0aWMgaW50IGR3X3BjaWVfZXBfaW5ib3VuZF9hdHUo c3RydWN0DQo+ID4gPiBkd19wY2llX2VwICplcCwgZW51bSBwY2lfYmFybm8gYmFyLA0KPiA+ID4g PiAgCQlyZXR1cm4gLUVJTlZBTDsNCj4gPiA+ID4gIAl9DQo+ID4gPiA+DQo+ID4gPiA+IC0JcmV0 ID0gZHdfcGNpZV9wcm9nX2luYm91bmRfYXR1KHBjaSwgZnJlZV93aW4sIGJhciwgY3B1X2FkZHIs DQo+ID4gPiA+ICsJcmV0ID0gZHdfcGNpZV9wcm9nX2luYm91bmRfYXR1KHBjaSwgZnVuY19ubywg ZnJlZV93aW4sIGJhciwNCj4gPiA+ID4gK2NwdV9hZGRyLA0KPiA+ID4gPiAgCQkJCSAgICAgICBh c190eXBlKTsNCj4gPiA+ID4gIAlpZiAocmV0IDwgMCkgew0KPiA+ID4gPiAgCQlkZXZfZXJyKHBj aS0+ZGV2LCAiRmFpbGVkIHRvIHByb2dyYW0gSUIgd2luZG93XG4iKTsgQEAgLTkyLDcNCj4gPiA+ ICsxMTQsOA0KPiA+ID4gPiBAQCBzdGF0aWMgaW50IGR3X3BjaWVfZXBfaW5ib3VuZF9hdHUoc3Ry dWN0IGR3X3BjaWVfZXAgKmVwLCBlbnVtDQo+ID4gPiBwY2lfYmFybm8gYmFyLA0KPiA+ID4gPiAg CXJldHVybiAwOw0KPiA+ID4gPiAgfQ0KPiA+ID4gPg0KPiA+ID4gPiAtc3RhdGljIGludCBkd19w Y2llX2VwX291dGJvdW5kX2F0dShzdHJ1Y3QgZHdfcGNpZV9lcCAqZXAsIHBoeXNfYWRkcl90DQo+ ID4gPiA+IHBoeXNfYWRkciwNCj4gPiA+ID4gK3N0YXRpYyBpbnQgZHdfcGNpZV9lcF9vdXRib3Vu ZF9hdHUoc3RydWN0IGR3X3BjaWVfZXAgKmVwLCB1OCBmdW5jX25vLA0KPiA+ID4gPiArCQkJCSAg IHBoeXNfYWRkcl90IHBoeXNfYWRkciwNCj4gPiA+ID4gIAkJCQkgICB1NjQgcGNpX2FkZHIsIHNp emVfdCBzaXplKQ0KPiA+ID4gPiAgew0KPiA+ID4gPiAgCXUzMiBmcmVlX3dpbjsNCj4gPiA+ID4g QEAgLTEwNCw4ICsxMjcsOCBAQCBzdGF0aWMgaW50IGR3X3BjaWVfZXBfb3V0Ym91bmRfYXR1KHN0 cnVjdA0KPiA+ID4gZHdfcGNpZV9lcCAqZXAsIHBoeXNfYWRkcl90IHBoeXNfYWRkciwNCj4gPiA+ ID4gIAkJcmV0dXJuIC1FSU5WQUw7DQo+ID4gPiA+ICAJfQ0KPiA+ID4gPg0KPiA+ID4gPiAtCWR3 X3BjaWVfcHJvZ19vdXRib3VuZF9hdHUocGNpLCBmcmVlX3dpbiwgUENJRV9BVFVfVFlQRV9NRU0s DQo+ID4gPiA+IC0JCQkJICBwaHlzX2FkZHIsIHBjaV9hZGRyLCBzaXplKTsNCj4gPiA+ID4gKwlk d19wY2llX3Byb2dfZXBfb3V0Ym91bmRfYXR1KHBjaSwgZnVuY19ubywgZnJlZV93aW4sDQo+ID4g PiBQQ0lFX0FUVV9UWVBFX01FTSwNCj4gPiA+ID4gKwkJCQkgICAgIHBoeXNfYWRkciwgcGNpX2Fk ZHIsIHNpemUpOw0KPiA+ID4gPg0KPiA+ID4gPiAgCXNldF9iaXQoZnJlZV93aW4sIGVwLT5vYl93 aW5kb3dfbWFwKTsNCj4gPiA+ID4gIAllcC0+b3V0Ym91bmRfYWRkcltmcmVlX3dpbl0gPSBwaHlz X2FkZHI7IEBAIC0xMjEsNyArMTQ0LDcgQEANCj4gPiA+IHN0YXRpYw0KPiA+ID4gPiB2b2lkIGR3 X3BjaWVfZXBfY2xlYXJfYmFyKHN0cnVjdCBwY2lfZXBjICplcGMsIHU4IGZ1bmNfbm8sDQo+ID4g PiA+ICAJZW51bSBwY2lfYmFybm8gYmFyID0gZXBmX2Jhci0+YmFybm87DQo+ID4gPiA+ICAJdTMy IGF0dV9pbmRleCA9IGVwLT5iYXJfdG9fYXR1W2Jhcl07DQo+ID4gPiA+DQo+ID4gPiA+IC0JX19k d19wY2llX2VwX3Jlc2V0X2JhcihwY2ksIGJhciwgZXBmX2Jhci0+ZmxhZ3MpOw0KPiA+ID4gPiAr CV9fZHdfcGNpZV9lcF9yZXNldF9iYXIocGNpLCBmdW5jX25vLCBiYXIsIGVwZl9iYXItPmZsYWdz KTsNCj4gPiA+ID4NCj4gPiA+ID4gIAlkd19wY2llX2Rpc2FibGVfYXR1KHBjaSwgYXR1X2luZGV4 LCBEV19QQ0lFX1JFR0lPTl9JTkJPVU5EKTsNCj4gPiA+ID4gIAljbGVhcl9iaXQoYXR1X2luZGV4 LCBlcC0+aWJfd2luZG93X21hcCk7IEBAIC0xMzcsMTQgKzE2MCwyMCBAQA0KPiA+ID4gPiBzdGF0 aWMgaW50IGR3X3BjaWVfZXBfc2V0X2JhcihzdHJ1Y3QgcGNpX2VwYyAqZXBjLCB1OCBmdW5jX25v LA0KPiA+ID4gPiAgCXNpemVfdCBzaXplID0gZXBmX2Jhci0+c2l6ZTsNCj4gPiA+ID4gIAlpbnQg ZmxhZ3MgPSBlcGZfYmFyLT5mbGFnczsNCj4gPiA+ID4gIAllbnVtIGR3X3BjaWVfYXNfdHlwZSBh c190eXBlOw0KPiA+ID4gPiAtCXUzMiByZWcgPSBQQ0lfQkFTRV9BRERSRVNTXzAgKyAoNCAqIGJh cik7DQo+ID4gPiA+ICsJdTMyIHJlZzsNCj4gPiA+ID4gKwl1bnNpZ25lZCBpbnQgZnVuY19vZmZz ZXQgPSAwOw0KPiA+ID4gPiArDQo+ID4gPiA+ICsJZnVuY19vZmZzZXQgPSBkd19wY2llX2VwX2Z1 bmNfc2VsZWN0KGVwLCBmdW5jX25vKTsNCj4gPiA+ID4gKw0KPiA+ID4gPiArCXJlZyA9IFBDSV9C QVNFX0FERFJFU1NfMCArICg0ICogYmFyKSArIGZ1bmNfb2Zmc2V0Ow0KPiA+ID4gPg0KPiA+ID4g PiAgCWlmICghKGZsYWdzICYgUENJX0JBU0VfQUREUkVTU19TUEFDRSkpDQo+ID4gPiA+ICAJCWFz X3R5cGUgPSBEV19QQ0lFX0FTX01FTTsNCj4gPiA+ID4gIAllbHNlDQo+ID4gPiA+ICAJCWFzX3R5 cGUgPSBEV19QQ0lFX0FTX0lPOw0KPiA+ID4gPg0KPiA+ID4gPiAtCXJldCA9IGR3X3BjaWVfZXBf aW5ib3VuZF9hdHUoZXAsIGJhciwgZXBmX2Jhci0+cGh5c19hZGRyLCBhc190eXBlKTsNCj4gPiA+ ID4gKwlyZXQgPSBkd19wY2llX2VwX2luYm91bmRfYXR1KGVwLCBmdW5jX25vLCBiYXIsDQo+ID4g PiA+ICsJCQkJICAgICBlcGZfYmFyLT5waHlzX2FkZHIsIGFzX3R5cGUpOw0KPiA+ID4gPiAgCWlm IChyZXQpDQo+ID4gPiA+ICAJCXJldHVybiByZXQ7DQo+ID4gPiA+DQo+ID4gPiA+IEBAIC0yMDIs NyArMjMxLDcgQEAgc3RhdGljIGludCBkd19wY2llX2VwX21hcF9hZGRyKHN0cnVjdCBwY2lfZXBj DQo+ID4gPiAqZXBjLCB1OCBmdW5jX25vLA0KPiA+ID4gPiAgCXN0cnVjdCBkd19wY2llX2VwICpl cCA9IGVwY19nZXRfZHJ2ZGF0YShlcGMpOw0KPiA+ID4gPiAgCXN0cnVjdCBkd19wY2llICpwY2kg PSB0b19kd19wY2llX2Zyb21fZXAoZXApOw0KPiA+ID4gPg0KPiA+ID4gPiAtCXJldCA9IGR3X3Bj aWVfZXBfb3V0Ym91bmRfYXR1KGVwLCBhZGRyLCBwY2lfYWRkciwgc2l6ZSk7DQo+ID4gPiA+ICsJ cmV0ID0gZHdfcGNpZV9lcF9vdXRib3VuZF9hdHUoZXAsIGZ1bmNfbm8sIGFkZHIsIHBjaV9hZGRy LCBzaXplKTsNCj4gPiA+ID4gIAlpZiAocmV0KSB7DQo+ID4gPiA+ICAJCWRldl9lcnIocGNpLT5k ZXYsICJGYWlsZWQgdG8gZW5hYmxlIGFkZHJlc3NcbiIpOw0KPiA+ID4gPiAgCQlyZXR1cm4gcmV0 Ow0KPiA+ID4gPiBAQCAtMjE2LDExICsyNDUsMTQgQEAgc3RhdGljIGludCBkd19wY2llX2VwX2dl dF9tc2koc3RydWN0IHBjaV9lcGMNCj4gPiA+ICplcGMsIHU4IGZ1bmNfbm8pDQo+ID4gPiA+ICAJ c3RydWN0IGR3X3BjaWVfZXAgKmVwID0gZXBjX2dldF9kcnZkYXRhKGVwYyk7DQo+ID4gPiA+ICAJ c3RydWN0IGR3X3BjaWUgKnBjaSA9IHRvX2R3X3BjaWVfZnJvbV9lcChlcCk7DQo+ID4gPiA+ICAJ dTMyIHZhbCwgcmVnOw0KPiA+ID4gPiArCXVuc2lnbmVkIGludCBmdW5jX29mZnNldCA9IDA7DQo+ ID4gPiA+DQo+ID4gPiA+ICAJaWYgKCFlcC0+bXNpX2NhcCkNCj4gPiA+ID4gIAkJcmV0dXJuIC1F SU5WQUw7DQo+ID4gPiA+DQo+ID4gPiA+IC0JcmVnID0gZXAtPm1zaV9jYXAgKyBQQ0lfTVNJX0ZM QUdTOw0KPiA+ID4gPiArCWZ1bmNfb2Zmc2V0ID0gZHdfcGNpZV9lcF9mdW5jX3NlbGVjdChlcCwg ZnVuY19ubyk7DQo+ID4gPiA+ICsNCj4gPiA+ID4gKwlyZWcgPSBlcC0+bXNpX2NhcCArIGZ1bmNf b2Zmc2V0ICsgUENJX01TSV9GTEFHUzsNCj4gPiA+ID4gIAl2YWwgPSBkd19wY2llX3JlYWR3X2Ri aShwY2ksIHJlZyk7DQo+ID4gPiA+ICAJaWYgKCEodmFsICYgUENJX01TSV9GTEFHU19FTkFCTEUp KQ0KPiA+ID4gPiAgCQlyZXR1cm4gLUVJTlZBTDsNCj4gPiA+ID4gQEAgLTIzNSwxMSArMjY3LDE0 IEBAIHN0YXRpYyBpbnQgZHdfcGNpZV9lcF9zZXRfbXNpKHN0cnVjdCBwY2lfZXBjDQo+ID4gPiAq ZXBjLCB1OCBmdW5jX25vLCB1OCBpbnRlcnJ1cHRzKQ0KPiA+ID4gPiAgCXN0cnVjdCBkd19wY2ll X2VwICplcCA9IGVwY19nZXRfZHJ2ZGF0YShlcGMpOw0KPiA+ID4gPiAgCXN0cnVjdCBkd19wY2ll ICpwY2kgPSB0b19kd19wY2llX2Zyb21fZXAoZXApOw0KPiA+ID4gPiAgCXUzMiB2YWwsIHJlZzsN Cj4gPiA+ID4gKwl1bnNpZ25lZCBpbnQgZnVuY19vZmZzZXQgPSAwOw0KPiA+ID4gPg0KPiA+ID4g PiAgCWlmICghZXAtPm1zaV9jYXApDQo+ID4gPiA+ICAJCXJldHVybiAtRUlOVkFMOw0KPiA+ID4g Pg0KPiA+ID4gPiAtCXJlZyA9IGVwLT5tc2lfY2FwICsgUENJX01TSV9GTEFHUzsNCj4gPiA+ID4g KwlmdW5jX29mZnNldCA9IGR3X3BjaWVfZXBfZnVuY19zZWxlY3QoZXAsIGZ1bmNfbm8pOw0KPiA+ ID4gPiArDQo+ID4gPiA+ICsJcmVnID0gZXAtPm1zaV9jYXAgKyBmdW5jX29mZnNldCArIFBDSV9N U0lfRkxBR1M7DQo+ID4gPiA+ICAJdmFsID0gZHdfcGNpZV9yZWFkd19kYmkocGNpLCByZWcpOw0K PiA+ID4gPiAgCXZhbCAmPSB+UENJX01TSV9GTEFHU19RTUFTSzsNCj4gPiA+ID4gIAl2YWwgfD0g KGludGVycnVwdHMgPDwgMSkgJiBQQ0lfTVNJX0ZMQUdTX1FNQVNLOyBAQCAtMjU1LDExICsyOTAs MTQNCj4gPiA+ID4gQEAgc3RhdGljIGludCBkd19wY2llX2VwX2dldF9tc2l4KHN0cnVjdCBwY2lf ZXBjICplcGMsIHU4IGZ1bmNfbm8pDQo+ID4gPiA+ICAJc3RydWN0IGR3X3BjaWVfZXAgKmVwID0g ZXBjX2dldF9kcnZkYXRhKGVwYyk7DQo+ID4gPiA+ICAJc3RydWN0IGR3X3BjaWUgKnBjaSA9IHRv X2R3X3BjaWVfZnJvbV9lcChlcCk7DQo+ID4gPiA+ICAJdTMyIHZhbCwgcmVnOw0KPiA+ID4gPiAr CXVuc2lnbmVkIGludCBmdW5jX29mZnNldCA9IDA7DQo+ID4gPiA+DQo+ID4gPiA+ICAJaWYgKCFl cC0+bXNpeF9jYXApDQo+ID4gPiA+ICAJCXJldHVybiAtRUlOVkFMOw0KPiA+ID4gPg0KPiA+ID4g PiAtCXJlZyA9IGVwLT5tc2l4X2NhcCArIFBDSV9NU0lYX0ZMQUdTOw0KPiA+ID4gPiArCWZ1bmNf b2Zmc2V0ID0gZHdfcGNpZV9lcF9mdW5jX3NlbGVjdChlcCwgZnVuY19ubyk7DQo+ID4gPiA+ICsN Cj4gPiA+ID4gKwlyZWcgPSBlcC0+bXNpeF9jYXAgKyBmdW5jX29mZnNldCArIFBDSV9NU0lYX0ZM QUdTOw0KPiA+ID4gPiAgCXZhbCA9IGR3X3BjaWVfcmVhZHdfZGJpKHBjaSwgcmVnKTsNCj4gPiA+ ID4gIAlpZiAoISh2YWwgJiBQQ0lfTVNJWF9GTEFHU19FTkFCTEUpKQ0KPiA+ID4gPiAgCQlyZXR1 cm4gLUVJTlZBTDsNCj4gPiA+ID4gQEAgLTI3NCwxMSArMzEyLDE0IEBAIHN0YXRpYyBpbnQgZHdf cGNpZV9lcF9zZXRfbXNpeChzdHJ1Y3QgcGNpX2VwYw0KPiA+ID4gKmVwYywgdTggZnVuY19ubywg dTE2IGludGVycnVwdHMpDQo+ID4gPiA+ICAJc3RydWN0IGR3X3BjaWVfZXAgKmVwID0gZXBjX2dl dF9kcnZkYXRhKGVwYyk7DQo+ID4gPiA+ICAJc3RydWN0IGR3X3BjaWUgKnBjaSA9IHRvX2R3X3Bj aWVfZnJvbV9lcChlcCk7DQo+ID4gPiA+ICAJdTMyIHZhbCwgcmVnOw0KPiA+ID4gPiArCXVuc2ln bmVkIGludCBmdW5jX29mZnNldCA9IDA7DQo+ID4gPiA+DQo+ID4gPiA+ICAJaWYgKCFlcC0+bXNp eF9jYXApDQo+ID4gPiA+ICAJCXJldHVybiAtRUlOVkFMOw0KPiA+ID4gPg0KPiA+ID4gPiAtCXJl ZyA9IGVwLT5tc2l4X2NhcCArIFBDSV9NU0lYX0ZMQUdTOw0KPiA+ID4gPiArCWZ1bmNfb2Zmc2V0 ID0gZHdfcGNpZV9lcF9mdW5jX3NlbGVjdChlcCwgZnVuY19ubyk7DQo+ID4gPiA+ICsNCj4gPiA+ ID4gKwlyZWcgPSBlcC0+bXNpeF9jYXAgKyBmdW5jX29mZnNldCArIFBDSV9NU0lYX0ZMQUdTOw0K PiA+ID4gPiAgCXZhbCA9IGR3X3BjaWVfcmVhZHdfZGJpKHBjaSwgcmVnKTsNCj4gPiA+ID4gIAl2 YWwgJj0gflBDSV9NU0lYX0ZMQUdTX1FTSVpFOw0KPiA+ID4gPiAgCXZhbCB8PSBpbnRlcnJ1cHRz Ow0KPiA+ID4gPiBAQCAtMzY1LDYgKzQwNiw3IEBAIGludCBkd19wY2llX2VwX3JhaXNlX21zaV9p cnEoc3RydWN0IGR3X3BjaWVfZXANCj4gPiA+ICplcCwgdTggZnVuY19ubywNCj4gPiA+ID4gIAlz dHJ1Y3QgZHdfcGNpZSAqcGNpID0gdG9fZHdfcGNpZV9mcm9tX2VwKGVwKTsNCj4gPiA+ID4gIAlz dHJ1Y3QgcGNpX2VwYyAqZXBjID0gZXAtPmVwYzsNCj4gPiA+ID4gIAl1bnNpZ25lZCBpbnQgYWxp Z25lZF9vZmZzZXQ7DQo+ID4gPiA+ICsJdW5zaWduZWQgaW50IGZ1bmNfb2Zmc2V0ID0gMDsNCj4g PiA+ID4gIAl1MTYgbXNnX2N0cmwsIG1zZ19kYXRhOw0KPiA+ID4gPiAgCXUzMiBtc2dfYWRkcl9s b3dlciwgbXNnX2FkZHJfdXBwZXIsIHJlZzsNCj4gPiA+ID4gIAl1NjQgbXNnX2FkZHI7DQo+ID4g PiA+IEBAIC0zNzQsMjAgKzQxNiwyMiBAQCBpbnQgZHdfcGNpZV9lcF9yYWlzZV9tc2lfaXJxKHN0 cnVjdA0KPiA+ID4gZHdfcGNpZV9lcCAqZXAsIHU4IGZ1bmNfbm8sDQo+ID4gPiA+ICAJaWYgKCFl cC0+bXNpX2NhcCkNCj4gPiA+ID4gIAkJcmV0dXJuIC1FSU5WQUw7DQo+ID4gPiA+DQo+ID4gPiA+ ICsJZnVuY19vZmZzZXQgPSBkd19wY2llX2VwX2Z1bmNfc2VsZWN0KGVwLCBmdW5jX25vKTsNCj4g PiA+ID4gKw0KPiA+ID4gPiAgCS8qIFJhaXNlIE1TSSBwZXIgdGhlIFBDSSBMb2NhbCBCdXMgU3Bl Y2lmaWNhdGlvbiBSZXZpc2lvbiAzLjAsIDYuOC4xLiAqLw0KPiA+ID4gPiAtCXJlZyA9IGVwLT5t c2lfY2FwICsgUENJX01TSV9GTEFHUzsNCj4gPiA+ID4gKwlyZWcgPSBlcC0+bXNpX2NhcCArIGZ1 bmNfb2Zmc2V0ICsgUENJX01TSV9GTEFHUzsNCj4gPiA+ID4gIAltc2dfY3RybCA9IGR3X3BjaWVf cmVhZHdfZGJpKHBjaSwgcmVnKTsNCj4gPiA+ID4gIAloYXNfdXBwZXIgPSAhIShtc2dfY3RybCAm IFBDSV9NU0lfRkxBR1NfNjRCSVQpOw0KPiA+ID4gPiAtCXJlZyA9IGVwLT5tc2lfY2FwICsgUENJ X01TSV9BRERSRVNTX0xPOw0KPiA+ID4gPiArCXJlZyA9IGVwLT5tc2lfY2FwICsgZnVuY19vZmZz ZXQgKyBQQ0lfTVNJX0FERFJFU1NfTE87DQo+ID4gPiA+ICAJbXNnX2FkZHJfbG93ZXIgPSBkd19w Y2llX3JlYWRsX2RiaShwY2ksIHJlZyk7DQo+ID4gPiA+ICAJaWYgKGhhc191cHBlcikgew0KPiA+ ID4gPiAtCQlyZWcgPSBlcC0+bXNpX2NhcCArIFBDSV9NU0lfQUREUkVTU19ISTsNCj4gPiA+ID4g KwkJcmVnID0gZXAtPm1zaV9jYXAgKyBmdW5jX29mZnNldCArIFBDSV9NU0lfQUREUkVTU19ISTsN Cj4gPiA+ID4gIAkJbXNnX2FkZHJfdXBwZXIgPSBkd19wY2llX3JlYWRsX2RiaShwY2ksIHJlZyk7 DQo+ID4gPiA+IC0JCXJlZyA9IGVwLT5tc2lfY2FwICsgUENJX01TSV9EQVRBXzY0Ow0KPiA+ID4g PiArCQlyZWcgPSBlcC0+bXNpX2NhcCArIGZ1bmNfb2Zmc2V0ICsgUENJX01TSV9EQVRBXzY0Ow0K PiA+ID4gPiAgCQltc2dfZGF0YSA9IGR3X3BjaWVfcmVhZHdfZGJpKHBjaSwgcmVnKTsNCj4gPiA+ ID4gIAl9IGVsc2Ugew0KPiA+ID4gPiAgCQltc2dfYWRkcl91cHBlciA9IDA7DQo+ID4gPiA+IC0J CXJlZyA9IGVwLT5tc2lfY2FwICsgUENJX01TSV9EQVRBXzMyOw0KPiA+ID4gPiArCQlyZWcgPSBl cC0+bXNpX2NhcCArIGZ1bmNfb2Zmc2V0ICsgUENJX01TSV9EQVRBXzMyOw0KPiA+ID4gPiAgCQlt c2dfZGF0YSA9IGR3X3BjaWVfcmVhZHdfZGJpKHBjaSwgcmVnKTsNCj4gPiA+ID4gIAl9DQo+ID4g PiA+ICAJYWxpZ25lZF9vZmZzZXQgPSBtc2dfYWRkcl9sb3dlciAmIChlcGMtPm1lbS0+cGFnZV9z aXplIC0gMSk7IEBADQo+ID4gPiA+IC00MDYsMTEgKzQ1MCwxMiBAQCBpbnQgZHdfcGNpZV9lcF9y YWlzZV9tc2lfaXJxKHN0cnVjdCBkd19wY2llX2VwICplcCwNCj4gPiA+ID4gdTggZnVuY19ubywg IH0NCj4gPiA+ID4NCj4gPiA+ID4gIGludCBkd19wY2llX2VwX3JhaXNlX21zaXhfaXJxKHN0cnVj dCBkd19wY2llX2VwICplcCwgdTggZnVuY19ubywNCj4gPiA+ID4gLQkJCSAgICAgdTE2IGludGVy cnVwdF9udW0pDQo+ID4gPiA+ICsJCQkgICAgICB1MTYgaW50ZXJydXB0X251bSkNCj4gPiA+ID4g IHsNCj4gPiA+ID4gIAlzdHJ1Y3QgZHdfcGNpZSAqcGNpID0gdG9fZHdfcGNpZV9mcm9tX2VwKGVw KTsNCj4gPiA+ID4gIAlzdHJ1Y3QgcGNpX2VwYyAqZXBjID0gZXAtPmVwYzsNCj4gPiA+ID4gIAl1 MTYgdGJsX29mZnNldCwgYmlyOw0KPiA+ID4gPiArCXVuc2lnbmVkIGludCBmdW5jX29mZnNldCA9 IDA7DQo+ID4gPiA+ICAJdTMyIGJhcl9hZGRyX3VwcGVyLCBiYXJfYWRkcl9sb3dlcjsNCj4gPiA+ ID4gIAl1MzIgbXNnX2FkZHJfdXBwZXIsIG1zZ19hZGRyX2xvd2VyOw0KPiA+ID4gPiAgCXUzMiBy ZWcsIG1zZ19kYXRhLCB2ZWNfY3RybDsNCj4gPiA+ID4gQEAgLTQxOCwxMiArNDYzLDE0IEBAIGlu dCBkd19wY2llX2VwX3JhaXNlX21zaXhfaXJxKHN0cnVjdA0KPiA+ID4gZHdfcGNpZV9lcCAqZXAs IHU4IGZ1bmNfbm8sDQo+ID4gPiA+ICAJdm9pZCBfX2lvbWVtICptc2l4X3RibDsNCj4gPiA+ID4g IAlpbnQgcmV0Ow0KPiA+ID4gPg0KPiA+ID4gPiAtCXJlZyA9IGVwLT5tc2l4X2NhcCArIFBDSV9N U0lYX1RBQkxFOw0KPiA+ID4gPiArCWZ1bmNfb2Zmc2V0ID0gZHdfcGNpZV9lcF9mdW5jX3NlbGVj dChlcCwgZnVuY19ubyk7DQo+ID4gPiA+ICsNCj4gPiA+ID4gKwlyZWcgPSBlcC0+bXNpeF9jYXAg KyBmdW5jX29mZnNldCArIFBDSV9NU0lYX1RBQkxFOw0KPiA+ID4gPiAgCXRibF9vZmZzZXQgPSBk d19wY2llX3JlYWRsX2RiaShwY2ksIHJlZyk7DQo+ID4gPiA+ICAJYmlyID0gKHRibF9vZmZzZXQg JiBQQ0lfTVNJWF9UQUJMRV9CSVIpOw0KPiA+ID4gPiAgCXRibF9vZmZzZXQgJj0gUENJX01TSVhf VEFCTEVfT0ZGU0VUOw0KPiA+ID4gPg0KPiA+ID4gPiAtCXJlZyA9IFBDSV9CQVNFX0FERFJFU1Nf MCArICg0ICogYmlyKTsNCj4gPiA+ID4gKwlyZWcgPSBQQ0lfQkFTRV9BRERSRVNTXzAgKyBmdW5j X29mZnNldCArICg0ICogYmlyKTsNCj4gPiA+ID4gIAliYXJfYWRkcl91cHBlciA9IDA7DQo+ID4g PiA+ICAJYmFyX2FkZHJfbG93ZXIgPSBkd19wY2llX3JlYWRsX2RiaShwY2ksIHJlZyk7DQo+ID4g PiA+ICAJcmVnX3U2NCA9IChiYXJfYWRkcl9sb3dlciAmIFBDSV9CQVNFX0FERFJFU1NfTUVNX1RZ UEVfTUFTSyk7DQo+ID4gPiBAQA0KPiA+ID4gPiAtNTU5LDEzICs2MDYsMTMgQEAgaW50IGR3X3Bj aWVfZXBfaW5pdChzdHJ1Y3QgZHdfcGNpZV9lcCAqZXApDQo+ID4gPiA+ICAJZXAtPmVwYyA9IGVw YzsNCj4gPiA+ID4gIAllcGNfc2V0X2RydmRhdGEoZXBjLCBlcCk7DQo+ID4gPiA+DQo+ID4gPiA+ IC0JaWYgKGVwLT5vcHMtPmVwX2luaXQpDQo+ID4gPiA+IC0JCWVwLT5vcHMtPmVwX2luaXQoZXAp Ow0KPiA+ID4gPiAtDQo+ID4gPiA+ICAJcmV0ID0gb2ZfcHJvcGVydHlfcmVhZF91OChucCwgIm1h eC1mdW5jdGlvbnMiLCAmZXBjLT5tYXhfZnVuY3Rpb25zKTsNCj4gPiA+ID4gIAlpZiAocmV0IDwg MCkNCj4gPiA+ID4gIAkJZXBjLT5tYXhfZnVuY3Rpb25zID0gMTsNCj4gPiA+ID4NCj4gPiA+ID4g KwlpZiAoZXAtPm9wcy0+ZXBfaW5pdCkNCj4gPiA+ID4gKwkJZXAtPm9wcy0+ZXBfaW5pdChlcCk7 DQo+ID4gPiA+ICsNCj4gPiA+ID4gIAlyZXQgPSBfX3BjaV9lcGNfbWVtX2luaXQoZXBjLCBlcC0+ cGh5c19iYXNlLCBlcC0+YWRkcl9zaXplLA0KPiA+ID4gPiAgCQkJCSBlcC0+cGFnZV9zaXplKTsN Cj4gPiA+ID4gIAlpZiAocmV0IDwgMCkgew0KPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9w Y2kvY29udHJvbGxlci9kd2MvcGNpZS1kZXNpZ253YXJlLmMNCj4gPiA+ID4gYi9kcml2ZXJzL3Bj aS9jb250cm9sbGVyL2R3Yy9wY2llLWRlc2lnbndhcmUuYw0KPiA+ID4gPiBpbmRleCAxNDNjYjZj Li5lZGUyZTc1IDEwMDY0NA0KPiA+ID4gPiAtLS0gYS9kcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3 Yy9wY2llLWRlc2lnbndhcmUuYw0KPiA+ID4gPiArKysgYi9kcml2ZXJzL3BjaS9jb250cm9sbGVy L2R3Yy9wY2llLWRlc2lnbndhcmUuYw0KPiA+ID4gPiBAQCAtMjM4LDkgKzIzOCwxMCBAQCBzdGF0 aWMgdm9pZCBkd19wY2llX3dyaXRlbF9vYl91bnJvbGwoc3RydWN0DQo+ID4gPiBkd19wY2llICpw Y2ksIHUzMiBpbmRleCwgdTMyIHJlZywNCj4gPiA+ID4gIAlkd19wY2llX3dyaXRlbF9hdHUocGNp LCBvZmZzZXQgKyByZWcsIHZhbCk7ICB9DQo+ID4gPiA+DQo+ID4gPiA+IC1zdGF0aWMgdm9pZCBk d19wY2llX3Byb2dfb3V0Ym91bmRfYXR1X3Vucm9sbChzdHJ1Y3QgZHdfcGNpZSAqcGNpLCBpbnQN Cj4gPiA+IGluZGV4LA0KPiA+ID4gPiAtCQkJCQkgICAgIGludCB0eXBlLCB1NjQgY3B1X2FkZHIs DQo+ID4gPiA+IC0JCQkJCSAgICAgdTY0IHBjaV9hZGRyLCB1MzIgc2l6ZSkNCj4gPiA+ID4gK3N0 YXRpYyB2b2lkIGR3X3BjaWVfcHJvZ19vdXRib3VuZF9hdHVfdW5yb2xsKHN0cnVjdCBkd19wY2ll ICpwY2ksIHU4DQo+ID4gPiBmdW5jX25vLA0KPiA+ID4gPiArCQkJCQkgICAgIGludCBpbmRleCwg aW50IHR5cGUsDQo+ID4gPiA+ICsJCQkJCSAgICAgdTY0IGNwdV9hZGRyLCB1NjQgcGNpX2FkZHIs DQo+ID4gPiA+ICsJCQkJCSAgICAgdTMyIHNpemUpDQo+ID4gPiA+ICB7DQo+ID4gPiA+ICAJdTMy IHJldHJpZXMsIHZhbDsNCj4gPiA+ID4NCj4gPiA+ID4gQEAgLTI1NSw3ICsyNTYsNyBAQCBzdGF0 aWMgdm9pZA0KPiA+ID4gZHdfcGNpZV9wcm9nX291dGJvdW5kX2F0dV91bnJvbGwoc3RydWN0IGR3 X3BjaWUgKnBjaSwgaW50IGluZGV4LA0KPiA+ID4gPiAgCWR3X3BjaWVfd3JpdGVsX29iX3Vucm9s bChwY2ksIGluZGV4LCBQQ0lFX0FUVV9VTlJfVVBQRVJfVEFSR0VULA0KPiA+ID4gPiAgCQkJCSB1 cHBlcl8zMl9iaXRzKHBjaV9hZGRyKSk7DQo+ID4gPiA+ICAJZHdfcGNpZV93cml0ZWxfb2JfdW5y b2xsKHBjaSwgaW5kZXgsIFBDSUVfQVRVX1VOUl9SRUdJT05fQ1RSTDEsDQo+ID4gPiA+IC0JCQkJ IHR5cGUpOw0KPiA+ID4gPiArCQkJCSB0eXBlIHwgUENJRV9BVFVfRlVOQ19OVU0oZnVuY19ubykp Ow0KPiA+ID4gPiAgCWR3X3BjaWVfd3JpdGVsX29iX3Vucm9sbChwY2ksIGluZGV4LCBQQ0lFX0FU VV9VTlJfUkVHSU9OX0NUUkwyLA0KPiA+ID4gPiAgCQkJCSBQQ0lFX0FUVV9FTkFCTEUpOw0KPiA+ ID4gPg0KPiA+ID4gPiBAQCAtMjc0LDggKzI3NSw5IEBAIHN0YXRpYyB2b2lkDQo+ID4gPiBkd19w Y2llX3Byb2dfb3V0Ym91bmRfYXR1X3Vucm9sbChzdHJ1Y3QgZHdfcGNpZSAqcGNpLCBpbnQgaW5k ZXgsDQo+ID4gPiA+ICAJZGV2X2VycihwY2ktPmRldiwgIk91dGJvdW5kIGlBVFUgaXMgbm90IGJl aW5nIGVuYWJsZWRcbiIpOyAgfQ0KPiA+ID4gPg0KPiA+ID4gPiAtdm9pZCBkd19wY2llX3Byb2df b3V0Ym91bmRfYXR1KHN0cnVjdCBkd19wY2llICpwY2ksIGludCBpbmRleCwgaW50IHR5cGUsDQo+ ID4gPiA+IC0JCQkgICAgICAgdTY0IGNwdV9hZGRyLCB1NjQgcGNpX2FkZHIsIHUzMiBzaXplKQ0K PiA+ID4gPiArc3RhdGljIHZvaWQgX19kd19wY2llX3Byb2dfb3V0Ym91bmRfYXR1KHN0cnVjdCBk d19wY2llICpwY2ksIHU4DQo+ID4gPiBmdW5jX25vLA0KPiA+ID4gPiArCQkJCQlpbnQgaW5kZXgs IGludCB0eXBlLCB1NjQgY3B1X2FkZHIsDQo+ID4gPiA+ICsJCQkJCXU2NCBwY2lfYWRkciwgdTMy IHNpemUpDQo+ID4gPiA+ICB7DQo+ID4gPiA+ICAJdTMyIHJldHJpZXMsIHZhbDsNCj4gPiA+ID4N Cj4gPiA+ID4gQEAgLTI4Myw4ICsyODUsOCBAQCB2b2lkIGR3X3BjaWVfcHJvZ19vdXRib3VuZF9h dHUoc3RydWN0IGR3X3BjaWUNCj4gPiA+ICpwY2ksIGludCBpbmRleCwgaW50IHR5cGUsDQo+ID4g PiA+ICAJCWNwdV9hZGRyID0gcGNpLT5vcHMtPmNwdV9hZGRyX2ZpeHVwKHBjaSwgY3B1X2FkZHIp Ow0KPiA+ID4gPg0KPiA+ID4gPiAgCWlmIChwY2ktPmlhdHVfdW5yb2xsX2VuYWJsZWQpIHsNCj4g PiA+ID4gLQkJZHdfcGNpZV9wcm9nX291dGJvdW5kX2F0dV91bnJvbGwocGNpLCBpbmRleCwgdHlw ZSwgY3B1X2FkZHIsDQo+ID4gPiA+IC0JCQkJCQkgcGNpX2FkZHIsIHNpemUpOw0KPiA+ID4gPiAr CQlkd19wY2llX3Byb2dfb3V0Ym91bmRfYXR1X3Vucm9sbChwY2ksIGZ1bmNfbm8sIGluZGV4LCB0 eXBlLA0KPiA+ID4gPiArCQkJCQkJIGNwdV9hZGRyLCBwY2lfYWRkciwgc2l6ZSk7DQo+ID4gPiA+ ICAJCXJldHVybjsNCj4gPiA+ID4gIAl9DQo+ID4gPiA+DQo+ID4gPiA+IEBAIC0zMDAsNyArMzAy LDggQEAgdm9pZCBkd19wY2llX3Byb2dfb3V0Ym91bmRfYXR1KHN0cnVjdCBkd19wY2llDQo+ID4g PiAqcGNpLCBpbnQgaW5kZXgsIGludCB0eXBlLA0KPiA+ID4gPiAgCQkJICAgbG93ZXJfMzJfYml0 cyhwY2lfYWRkcikpOw0KPiA+ID4gPiAgCWR3X3BjaWVfd3JpdGVsX2RiaShwY2ksIFBDSUVfQVRV X1VQUEVSX1RBUkdFVCwNCj4gPiA+ID4gIAkJCSAgIHVwcGVyXzMyX2JpdHMocGNpX2FkZHIpKTsN Cj4gPiA+ID4gLQlkd19wY2llX3dyaXRlbF9kYmkocGNpLCBQQ0lFX0FUVV9DUjEsIHR5cGUpOw0K PiA+ID4gPiArCWR3X3BjaWVfd3JpdGVsX2RiaShwY2ksIFBDSUVfQVRVX0NSMSwgdHlwZSB8DQo+ ID4gPiA+ICsJCQkgICBQQ0lFX0FUVV9GVU5DX05VTShmdW5jX25vKSk7DQo+ID4gPiA+ICAJZHdf cGNpZV93cml0ZWxfZGJpKHBjaSwgUENJRV9BVFVfQ1IyLCBQQ0lFX0FUVV9FTkFCTEUpOw0KPiA+ ID4gPg0KPiA+ID4gPiAgCS8qDQo+ID4gPiA+IEBAIC0zMTcsNiArMzIwLDIxIEBAIHZvaWQgZHdf cGNpZV9wcm9nX291dGJvdW5kX2F0dShzdHJ1Y3QgZHdfcGNpZQ0KPiA+ID4gKnBjaSwgaW50IGlu ZGV4LCBpbnQgdHlwZSwNCj4gPiA+ID4gIAlkZXZfZXJyKHBjaS0+ZGV2LCAiT3V0Ym91bmQgaUFU VSBpcyBub3QgYmVpbmcgZW5hYmxlZFxuIik7ICB9DQo+ID4gPiA+DQo+ID4gPiA+ICt2b2lkIGR3 X3BjaWVfcHJvZ19vdXRib3VuZF9hdHUoc3RydWN0IGR3X3BjaWUgKnBjaSwgaW50IGluZGV4LCBp bnQgdHlwZSwNCj4gPiA+ID4gKwkJCSAgICAgICB1NjQgY3B1X2FkZHIsIHU2NCBwY2lfYWRkciwg dTMyIHNpemUpIHsNCj4gPiA+ID4gKwlfX2R3X3BjaWVfcHJvZ19vdXRib3VuZF9hdHUocGNpLCAw LCBpbmRleCwgdHlwZSwNCj4gPiA+ID4gKwkJCQkgICAgY3B1X2FkZHIsIHBjaV9hZGRyLCBzaXpl KTsNCj4gPiA+ID4gK30NCj4gPiA+ID4gKw0KPiA+ID4gPiArdm9pZCBkd19wY2llX3Byb2dfZXBf b3V0Ym91bmRfYXR1KHN0cnVjdCBkd19wY2llICpwY2ksIHU4IGZ1bmNfbm8sIGludA0KPiA+ID4g aW5kZXgsDQo+ID4gPiA+ICsJCQkJICBpbnQgdHlwZSwgdTY0IGNwdV9hZGRyLCB1NjQgcGNpX2Fk ZHIsDQo+ID4gPiA+ICsJCQkJICB1MzIgc2l6ZSkNCj4gPiA+ID4gK3sNCj4gPiA+ID4gKwlfX2R3 X3BjaWVfcHJvZ19vdXRib3VuZF9hdHUocGNpLCBmdW5jX25vLCBpbmRleCwgdHlwZSwNCj4gPiA+ ID4gKwkJCQkgICAgY3B1X2FkZHIsIHBjaV9hZGRyLCBzaXplKTsNCj4gPiA+ID4gK30NCj4gPiA+ ID4gKw0KPiA+ID4gPiAgc3RhdGljIHUzMiBkd19wY2llX3JlYWRsX2liX3Vucm9sbChzdHJ1Y3Qg ZHdfcGNpZSAqcGNpLCB1MzIgaW5kZXgsDQo+ID4gPiA+IHUzMiByZWcpICB7DQo+ID4gPiA+ICAJ dTMyIG9mZnNldCA9IFBDSUVfR0VUX0FUVV9JTkJfVU5SX1JFR19PRkZTRVQoaW5kZXgpOw0KPiA+ ID4gPiBAQCAtMzMyLDggKzM1MCw4IEBAIHN0YXRpYyB2b2lkIGR3X3BjaWVfd3JpdGVsX2liX3Vu cm9sbChzdHJ1Y3QgZHdfcGNpZQ0KPiA+ID4gKnBjaSwgdTMyIGluZGV4LCB1MzIgcmVnLA0KPiA+ ID4gPiAgCWR3X3BjaWVfd3JpdGVsX2F0dShwY2ksIG9mZnNldCArIHJlZywgdmFsKTsgIH0NCj4g PiA+ID4NCj4gPiA+ID4gLXN0YXRpYyBpbnQgZHdfcGNpZV9wcm9nX2luYm91bmRfYXR1X3Vucm9s bChzdHJ1Y3QgZHdfcGNpZSAqcGNpLCBpbnQgaW5kZXgsDQo+ID4gPiA+IC0JCQkJCSAgIGludCBi YXIsIHU2NCBjcHVfYWRkciwNCj4gPiA+ID4gK3N0YXRpYyBpbnQgZHdfcGNpZV9wcm9nX2luYm91 bmRfYXR1X3Vucm9sbChzdHJ1Y3QgZHdfcGNpZSAqcGNpLCB1OA0KPiA+ID4gZnVuY19ubywNCj4g PiA+ID4gKwkJCQkJICAgaW50IGluZGV4LCBpbnQgYmFyLCB1NjQgY3B1X2FkZHIsDQo+ID4gPiA+ ICAJCQkJCSAgIGVudW0gZHdfcGNpZV9hc190eXBlIGFzX3R5cGUpICB7DQo+ID4gPiA+ICAJaW50 IHR5cGU7DQo+ID4gPiA+IEBAIC0zNTUsOCArMzczLDEwIEBAIHN0YXRpYyBpbnQgZHdfcGNpZV9w cm9nX2luYm91bmRfYXR1X3Vucm9sbChzdHJ1Y3QNCj4gPiA+IGR3X3BjaWUgKnBjaSwgaW50IGlu ZGV4LA0KPiA+ID4gPiAgCQlyZXR1cm4gLUVJTlZBTDsNCj4gPiA+ID4gIAl9DQo+ID4gPiA+DQo+ ID4gPiA+IC0JZHdfcGNpZV93cml0ZWxfaWJfdW5yb2xsKHBjaSwgaW5kZXgsIFBDSUVfQVRVX1VO Ul9SRUdJT05fQ1RSTDEsDQo+ID4gPiB0eXBlKTsNCj4gPiA+ID4gKwlkd19wY2llX3dyaXRlbF9p Yl91bnJvbGwocGNpLCBpbmRleCwgUENJRV9BVFVfVU5SX1JFR0lPTl9DVFJMMSwNCj4gPiA+IHR5 cGUgfA0KPiA+ID4gPiArCQkJCSBQQ0lFX0FUVV9GVU5DX05VTShmdW5jX25vKSk7DQo+ID4gPiA+ ICAJZHdfcGNpZV93cml0ZWxfaWJfdW5yb2xsKHBjaSwgaW5kZXgsIFBDSUVfQVRVX1VOUl9SRUdJ T05fQ1RSTDIsDQo+ID4gPiA+ICsJCQkJIFBDSUVfQVRVX0ZVTkNfTlVNX01BVENIX0VOIHwNCj4g PiA+ID4gIAkJCQkgUENJRV9BVFVfRU5BQkxFIHwNCj4gPiA+ID4gIAkJCQkgUENJRV9BVFVfQkFS X01PREVfRU5BQkxFIHwgKGJhciA8PCA4KSk7DQo+ID4gPiA+DQo+ID4gPiA+IEBAIC0zNzcsMTQg KzM5NywxNSBAQCBzdGF0aWMgaW50DQo+ID4gPiBkd19wY2llX3Byb2dfaW5ib3VuZF9hdHVfdW5y b2xsKHN0cnVjdCBkd19wY2llICpwY2ksIGludCBpbmRleCwNCj4gPiA+ID4gIAlyZXR1cm4gLUVC VVNZOw0KPiA+ID4gPiAgfQ0KPiA+ID4gPg0KPiA+ID4gPiAtaW50IGR3X3BjaWVfcHJvZ19pbmJv dW5kX2F0dShzdHJ1Y3QgZHdfcGNpZSAqcGNpLCBpbnQgaW5kZXgsIGludCBiYXIsDQo+ID4gPiA+ IC0JCQkgICAgIHU2NCBjcHVfYWRkciwgZW51bSBkd19wY2llX2FzX3R5cGUgYXNfdHlwZSkNCj4g PiA+ID4gK2ludCBkd19wY2llX3Byb2dfaW5ib3VuZF9hdHUoc3RydWN0IGR3X3BjaWUgKnBjaSwg dTggZnVuY19ubywgaW50IGluZGV4LA0KPiA+ID4gPiArCQkJICAgICBpbnQgYmFyLCB1NjQgY3B1 X2FkZHIsDQo+ID4gPiA+ICsJCQkgICAgIGVudW0gZHdfcGNpZV9hc190eXBlIGFzX3R5cGUpDQo+ ID4gPiA+ICB7DQo+ID4gPiA+ICAJaW50IHR5cGU7DQo+ID4gPiA+ICAJdTMyIHJldHJpZXMsIHZh bDsNCj4gPiA+ID4NCj4gPiA+ID4gIAlpZiAocGNpLT5pYXR1X3Vucm9sbF9lbmFibGVkKQ0KPiA+ ID4gPiAtCQlyZXR1cm4gZHdfcGNpZV9wcm9nX2luYm91bmRfYXR1X3Vucm9sbChwY2ksIGluZGV4 LCBiYXIsDQo+ID4gPiA+ICsJCXJldHVybiBkd19wY2llX3Byb2dfaW5ib3VuZF9hdHVfdW5yb2xs KHBjaSwgZnVuY19ubywgaW5kZXgsIGJhciwNCj4gPiA+ID4gIAkJCQkJCSAgICAgICBjcHVfYWRk ciwgYXNfdHlwZSk7DQo+ID4gPiA+DQo+ID4gPiA+ICAJZHdfcGNpZV93cml0ZWxfZGJpKHBjaSwg UENJRV9BVFVfVklFV1BPUlQsDQo+ID4gPiBQQ0lFX0FUVV9SRUdJT05fSU5CT1VORCB8DQo+ID4g PiA+IEBAIC00MDMsOSArNDI0LDExIEBAIGludCBkd19wY2llX3Byb2dfaW5ib3VuZF9hdHUoc3Ry dWN0IGR3X3BjaWUNCj4gPiA+ICpwY2ksIGludCBpbmRleCwgaW50IGJhciwNCj4gPiA+ID4gIAkJ cmV0dXJuIC1FSU5WQUw7DQo+ID4gPiA+ICAJfQ0KPiA+ID4gPg0KPiA+ID4gPiAtCWR3X3BjaWVf d3JpdGVsX2RiaShwY2ksIFBDSUVfQVRVX0NSMSwgdHlwZSk7DQo+ID4gPiA+IC0JZHdfcGNpZV93 cml0ZWxfZGJpKHBjaSwgUENJRV9BVFVfQ1IyLCBQQ0lFX0FUVV9FTkFCTEUNCj4gPiA+ID4gLQkJ CSAgIHwgUENJRV9BVFVfQkFSX01PREVfRU5BQkxFIHwgKGJhciA8PCA4KSk7DQo+ID4gPiA+ICsJ ZHdfcGNpZV93cml0ZWxfZGJpKHBjaSwgUENJRV9BVFVfQ1IxLCB0eXBlIHwNCj4gPiA+ID4gKwkJ CSAgIFBDSUVfQVRVX0ZVTkNfTlVNKGZ1bmNfbm8pKTsNCj4gPiA+ID4gKwlkd19wY2llX3dyaXRl bF9kYmkocGNpLCBQQ0lFX0FUVV9DUjIsIFBDSUVfQVRVX0VOQUJMRSB8DQo+ID4gPiA+ICsJCQkg ICBQQ0lFX0FUVV9GVU5DX05VTV9NQVRDSF9FTiB8DQo+ID4gPiA+ICsJCQkgICBQQ0lFX0FUVV9C QVJfTU9ERV9FTkFCTEUgfCAoYmFyIDw8IDgpKTsNCj4gPiA+ID4NCj4gPiA+ID4gIAkvKg0KPiA+ ID4gPiAgCSAqIE1ha2Ugc3VyZSBBVFUgZW5hYmxlIHRha2VzIGVmZmVjdCBiZWZvcmUgYW55IHN1 YnNlcXVlbnQgY29uZmlnDQo+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9jb250cm9s bGVyL2R3Yy9wY2llLWRlc2lnbndhcmUuaA0KPiA+ID4gPiBiL2RyaXZlcnMvcGNpL2NvbnRyb2xs ZXIvZHdjL3BjaWUtZGVzaWdud2FyZS5oDQo+ID4gPiA+IGluZGV4IDVhMThlOTQuLjZhY2EwYmIg MTAwNjQ0DQo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaWUtZGVz aWdud2FyZS5oDQo+ID4gPiA+ICsrKyBiL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaWUt ZGVzaWdud2FyZS5oDQo+ID4gPiA+IEBAIC03MSw5ICs3MSwxMSBAQA0KPiA+ID4gPiAgI2RlZmlu ZSBQQ0lFX0FUVV9UWVBFX0lPCQkweDINCj4gPiA+ID4gICNkZWZpbmUgUENJRV9BVFVfVFlQRV9D RkcwCQkweDQNCj4gPiA+ID4gICNkZWZpbmUgUENJRV9BVFVfVFlQRV9DRkcxCQkweDUNCj4gPiA+ ID4gKyNkZWZpbmUgUENJRV9BVFVfRlVOQ19OVU0ocGYpICAgICAgICAgICAoKHBmKSA8PCAyMCkN Cj4gPiA+ID4gICNkZWZpbmUgUENJRV9BVFVfQ1IyCQkJMHg5MDgNCj4gPiA+ID4gICNkZWZpbmUg UENJRV9BVFVfRU5BQkxFCQkJQklUKDMxKQ0KPiA+ID4gPiAgI2RlZmluZSBQQ0lFX0FUVV9CQVJf TU9ERV9FTkFCTEUJQklUKDMwKQ0KPiA+ID4gPiArI2RlZmluZSBQQ0lFX0FUVV9GVU5DX05VTV9N QVRDSF9FTiAgICAgIEJJVCgxOSkNCj4gPiA+ID4gICNkZWZpbmUgUENJRV9BVFVfTE9XRVJfQkFT RQkJMHg5MEMNCj4gPiA+ID4gICNkZWZpbmUgUENJRV9BVFVfVVBQRVJfQkFTRQkJMHg5MTANCj4g PiA+ID4gICNkZWZpbmUgUENJRV9BVFVfTElNSVQJCQkweDkxNA0KPiA+ID4gPiBAQCAtMjA2LDYg KzIwOCwxNCBAQCBzdHJ1Y3QgZHdfcGNpZV9lcF9vcHMgew0KPiA+ID4gPiAgCWludAkoKnJhaXNl X2lycSkoc3RydWN0IGR3X3BjaWVfZXAgKmVwLCB1OCBmdW5jX25vLA0KPiA+ID4gPiAgCQkJICAg ICBlbnVtIHBjaV9lcGNfaXJxX3R5cGUgdHlwZSwgdTE2IGludGVycnVwdF9udW0pOw0KPiA+ID4g PiAgCWNvbnN0IHN0cnVjdCBwY2lfZXBjX2ZlYXR1cmVzKiAoKmdldF9mZWF0dXJlcykoc3RydWN0 IGR3X3BjaWVfZXANCj4gPiA+ID4gKmVwKTsNCj4gPiA+ID4gKwkvKg0KPiA+ID4gPiArCSAqIFBy b3ZpZGUgYSBtZXRob2QgdG8gaW1wbGVtZW50IHRoZSBkaWZmZXJlbnQgZnVuYyBjb25maWcgc3Bh Y2UNCj4gPiA+ID4gKwkgKiBhY2Nlc3MgZm9yIGRpZmZlcmVudCBwbGF0Zm9ybSwgaWYgZGlmZmVy ZW50IGZ1bmMgaGF2ZSBkaWZmZXJlbnQNCj4gPiA+ID4gKwkgKiBvZmZzZXQsIHJldHVybiB0aGUg b2Zmc2V0IG9mIGZ1bmMuIGlmIHVzZSB3cml0ZSBhIHJlZ2lzdGVyIHdheQ0KPiA+ID4gPiArCSAq IHJldHVybiBhIDAsIGFuZCBpbXBsZW1lbnQgY29kZSBpbiBjYWxsYmFjayBmdW5jdGlvbiBvZiBw bGF0Zm9ybQ0KPiA+ID4gPiArCSAqIGRyaXZlci4NCj4gPiA+ID4gKwkgKi8NCj4gPiA+ID4gKwl1 bnNpZ25lZCBpbnQgKCpmdW5jX2NvbmZfc2VsZWN0KShzdHJ1Y3QgZHdfcGNpZV9lcCAqZXAsIHU4 IGZ1bmNfbm8pOw0KPiA+ID4gPiAgfTsNCj4gPiA+ID4NCj4gPiA+ID4gIHN0cnVjdCBkd19wY2ll X2VwIHsNCj4gPiA+ID4gQEAgLTI3Nyw4ICsyODcsMTIgQEAgaW50IGR3X3BjaWVfd2FpdF9mb3Jf bGluayhzdHJ1Y3QgZHdfcGNpZSAqcGNpKTsNCj4gPiA+ID4gdm9pZCBkd19wY2llX3Byb2dfb3V0 Ym91bmRfYXR1KHN0cnVjdCBkd19wY2llICpwY2ksIGludCBpbmRleCwNCj4gPiA+ID4gIAkJCSAg ICAgICBpbnQgdHlwZSwgdTY0IGNwdV9hZGRyLCB1NjQgcGNpX2FkZHIsDQo+ID4gPiA+ICAJCQkg ICAgICAgdTMyIHNpemUpOw0KPiA+ID4gPiAtaW50IGR3X3BjaWVfcHJvZ19pbmJvdW5kX2F0dShz dHJ1Y3QgZHdfcGNpZSAqcGNpLCBpbnQgaW5kZXgsIGludCBiYXIsDQo+ID4gPiA+IC0JCQkgICAg IHU2NCBjcHVfYWRkciwgZW51bSBkd19wY2llX2FzX3R5cGUgYXNfdHlwZSk7DQo+ID4gPiA+ICt2 b2lkIGR3X3BjaWVfcHJvZ19lcF9vdXRib3VuZF9hdHUoc3RydWN0IGR3X3BjaWUgKnBjaSwgdTgg ZnVuY19ubywgaW50DQo+ID4gPiBpbmRleCwNCj4gPiA+ID4gKwkJCQkgIGludCB0eXBlLCB1NjQg Y3B1X2FkZHIsIHU2NCBwY2lfYWRkciwNCj4gPiA+ID4gKwkJCQkgIHUzMiBzaXplKTsNCj4gPiA+ ID4gK2ludCBkd19wY2llX3Byb2dfaW5ib3VuZF9hdHUoc3RydWN0IGR3X3BjaWUgKnBjaSwgdTgg ZnVuY19ubywgaW50IGluZGV4LA0KPiA+ID4gPiArCQkJICAgICBpbnQgYmFyLCB1NjQgY3B1X2Fk ZHIsDQo+ID4gPiA+ICsJCQkgICAgIGVudW0gZHdfcGNpZV9hc190eXBlIGFzX3R5cGUpOw0KPiA+ ID4gPiAgdm9pZCBkd19wY2llX2Rpc2FibGVfYXR1KHN0cnVjdCBkd19wY2llICpwY2ksIGludCBp bmRleCwNCj4gPiA+ID4gIAkJCSBlbnVtIGR3X3BjaWVfcmVnaW9uX3R5cGUgdHlwZSk7DQo+ID4g PiA+ICB2b2lkIGR3X3BjaWVfc2V0dXAoc3RydWN0IGR3X3BjaWUgKnBjaSk7DQo+ID4gPiA+IC0t DQo+ID4gPiA+IDIuOS41DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ID4gPiA+IGxpbnV4LWFybS1rZXJu ZWwgbWFpbGluZyBsaXN0DQo+ID4gPiA+IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFk Lm9yZw0KPiA+ID4gPiBodHRwczovL3VybGRlZmVuc2UucHJvb2Zwb2ludC5jb20vdjIvdXJsP3U9 aHR0cHMtM0FfX2V1cjAxLnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tXy0zRnVybC0z RGh0dHAtMjUzQS0yNTJGLTI1MkZsaXN0cyZkPUR3SURhUSZjPURQTDZfWF82SmtYRng3QVhXcUIw dGcmcj1ia1d4cExvVy1mLUUzRWRpRENDYTBfaDBQaWNzVmlhc1Nsdklwelp2UHhzJm09NUtFUEJu REdBYTEyWXd5dDFMbWFrM0pkVThTYjJkWE5GSjBROE9aRk9yayZzPVNPTDVBLTE4dmZ6YmxUTU1K b2paS0JMd0NqWklpOWc1VkJyZUY1c04xZG8mZT0gDQo+ID4gPiA+IC5pbmZyYWRlYWQub3JnJTJG bWFpbG1hbiUyRmxpc3RpbmZvJTJGbGludXgtYXJtLWtlcm5lbCZhbXA7ZGF0YT0wMiUNCj4gPiA+ IDdDMA0KPiA+ID4gPg0KPiA+ID4gMSU3Q3hpYW93ZWkuYmFvJTQwbnhwLmNvbSU3Qzk5ZWVmMTRh NTI1MDQwZWQzZWFiMDhkNzJmYzI0NGYxJTdDDQo+ID4gPiA2ODZlYTFkDQo+ID4gPiA+DQo+ID4g PiAzYmMyYjRjNmZhOTJjZDk5YzVjMzAxNjM1JTdDMCU3QzAlN0M2MzcwMzAzODM3NjkzNDEyNzAm YW1wO3NkDQo+ID4gPiBhdGE9Y2syRUMNCj4gPiA+ID4gJTJGSllDaldFcnZiVU0lMkZUJTJCb1ZN QU5Nd3lMUkk0Z1ZSc3NkbmQwNHclM0QmYW1wO3Jlc2VyDQo+ID4gPiB2ZWQ9MA0KDQoNCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJu ZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK