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=-15.1 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=ham 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 EC71DC47087 for ; Fri, 28 May 2021 14:20:01 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 8A642613B6 for ; Fri, 28 May 2021 14:20:01 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8A642613B6 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=amd.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2BE776E3FE; Fri, 28 May 2021 14:20:01 +0000 (UTC) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2068.outbound.protection.outlook.com [40.107.243.68]) by gabe.freedesktop.org (Postfix) with ESMTPS id D69D16E3FE; Fri, 28 May 2021 14:19:59 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XCGcwBv61dobAziXoZathyzd6GxhpkSwH/xleA8ZnrukriTYTvfwsTBWva4ad8pgL2Qjr82HtjU8YrDxxEstjQbr4f7t4OHqNKXu9UzxQ3lfcNVYlNPEgF82F0hsmO0Cv61mam05xLMoE60FzGe+yW4NvEa4kvSI6kObf3fcnR3+PFFTa+nAPeTe7+n8Li/PFtA1EFNiWzDZpcE5oyn4DIq2nQoFW8j7Pi/5e5zMIpJulL25mvlggSZgN65n155yq9OxEzGzruOWJf/puddrKj/w9C08ELzJ+q0LjgzY3aXXQd4zo84tgF0qLKZnKOYqaPsDZEPXf9z3Dijj4ZpUFQ== 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=xgRdjoNAEgJrIj8kWEBd4j5XPkMeZkqqawTcpZduo6I=; b=FPqdlTRk2nTUQcnlHMeiCf+6N8i2KV0OWVXOa/exns1MLmqRN9NsSeBz6Sc9ktrRcL9XbaY5quy+yuyhj4cWbYC8PIHvMN7iz6UivsvAPlzAuEYcl78phxJMVEo7sH7cxnsGoLJrVT+4hzxDKlC4Qsorr/FCMnVwGPq2sL54HZQmQBtXHGNOCOoMOEcc/jj+7IRMbScbX5Obn61ehA/IlRlt0/tdSEKec1A3X8EZG9G0JVS7Ub3h4ltAzrQtuNWst8Ki7wNekWlDeFrB2shTrTHxcbxkhUJ6S2eEsOnTkefnWZLSUjd2t8BkNgRdU3NYg5VKvMeHM3EH94rgEBDnoA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xgRdjoNAEgJrIj8kWEBd4j5XPkMeZkqqawTcpZduo6I=; b=0iwgJQRO8FW4m0+5ZJWrIWIM9LeVYNtUsdEyksVYRecFkQPHh9s5D0U1PuvN/MOAM+R945zlkellPok1PzactaG1KiZ5x5n0qDqYzuGQJAsDQrNhb93du1ZZv53dhH3IWe6A/R7DDslFwOkz41IlEJwsVO/aN7IKHShgBdboNEA= Authentication-Results: ffwll.ch; dkim=none (message not signed) header.d=none;ffwll.ch; dmarc=none action=none header.from=amd.com; Received: from MN2PR12MB3775.namprd12.prod.outlook.com (2603:10b6:208:159::19) by BL0PR12MB4740.namprd12.prod.outlook.com (2603:10b6:208:84::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4150.25; Fri, 28 May 2021 14:19:57 +0000 Received: from MN2PR12MB3775.namprd12.prod.outlook.com ([fe80::6d4d:4674:1cf6:8d34]) by MN2PR12MB3775.namprd12.prod.outlook.com ([fe80::6d4d:4674:1cf6:8d34%6]) with mapi id 15.20.4173.024; Fri, 28 May 2021 14:19:57 +0000 To: =?UTF-8?Q?Thomas_Hellstr=c3=b6m?= , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org References: <20210527144710.1975553-1-thomas.hellstrom@linux.intel.com> <20210527144710.1975553-8-thomas.hellstrom@linux.intel.com> From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: <7f2daaf6-8df1-5886-758e-ea09d27602ba@amd.com> Date: Fri, 28 May 2021 16:19:51 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 In-Reply-To: <20210527144710.1975553-8-thomas.hellstrom@linux.intel.com> Content-Language: en-US X-Originating-IP: [2a02:908:1252:fb60:a878:922a:f147:ebc] X-ClientProxiedBy: PR3P191CA0060.EURP191.PROD.OUTLOOK.COM (2603:10a6:102:55::35) To MN2PR12MB3775.namprd12.prod.outlook.com (2603:10b6:208:159::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [IPv6:2a02:908:1252:fb60:a878:922a:f147:ebc] (2a02:908:1252:fb60:a878:922a:f147:ebc) by PR3P191CA0060.EURP191.PROD.OUTLOOK.COM (2603:10a6:102:55::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4173.20 via Frontend Transport; Fri, 28 May 2021 14:19:56 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 11281c8a-7702-42db-9d32-08d921e3aba2 X-MS-TrafficTypeDiagnostic: BL0PR12MB4740: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ux9ig6JFNvyrDBIpoBMjZoaBAKcwnMPshGqeqrZcp5E7q0oRkTWJfjwf5pS/WQPM7MVQ0ooO5tb33czwKlOVK/dF3hX9TWDJX4iqlRRADUJFW3tgbYncy3bNpsOU+gLgGxhsujJJhH0yonT4vTz+FjBkN09EKBWIHcuEC9PQvciewz7uh2lwB5Uypyy1cgEWuwblo1z+T5+1UkEvsamfe3ZtZx6g6tt46z2CvgiagSxIR72XNZxhVxZI1WeE3XjTXHNpwb7lk6avXtTBOkawdKhcuhDskBVlBisaUwB2vMfOT577CApN2X6A1dt9mkNWF/gpzV2mGX2ro63MOJZcLZ7x4zvHHPjYob7q4zjOZJ3QFGhCBUNd6vmV0ydhkFjgoEbppdw1ecY/jTWB+bd8TC+2cF9gA4xdNF4BOoPAbrBOxxAhQxp4RlqrNipVKzq3T5ZHQm/d9tdFRyV9TjeRhSa9Uwj/b/apYH4JJg2JDWa7PlKPmtw7rKzSsbrj6/P1bBJC8JmbLIOML5zOBgZMIpkbByzLSJH3VTXqFQEf9d6bcN1JpDYvc93LBVqbqQ2hTCRNUSfHzXCxtPxZwbSpq0+MKaOo74AyY1F1LcA90+xmUpjZOI9DnWWt5INfDIsVkIvejD3sGqCW52qLAtSY2w3yHVqRLUeUPmKgbZS6eVFhKOw81eLg0965F+HnJcQ9 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR12MB3775.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(136003)(396003)(366004)(346002)(39850400004)(4326008)(36756003)(5660300002)(16526019)(83380400001)(2616005)(31686004)(186003)(66574015)(38100700002)(31696002)(316002)(2906002)(86362001)(478600001)(6666004)(66476007)(66556008)(8676002)(6486002)(66946007)(8936002)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?eW1KQlo5dGdQdm9FTXlXTnQwdnlQMVIva0ZzSjJtNUlHa3ZHR1RiTEZuSTBx?= =?utf-8?B?NUxvWkxVaEs2UjdXUGJKd3c2eVVtU3d5ZHNiOE1sempRUkFXNVNTUDNrTWNJ?= =?utf-8?B?VU5XalpHbjBjbXZpSDE3dlhiSDg2dk9BdzRVTFBYNWhjMlhPeDVBNHFDOXYx?= =?utf-8?B?SFFpUGJERElMTzVWcEpGRXJLUFVPOHFKb0twT2JTdC9XcmJFbEpyeDJFUmk0?= =?utf-8?B?ZkF1VVR0S2dSVm9aUkJxZkt3dGJaQVFBb2NRd0wrWWNUK1VzeEJhaitjZk9E?= =?utf-8?B?YW1JWkFsditaME5iQm5NSGE5eUp4dVp0SHh3QW0xU3VEQk42akI4L3pGdWFK?= =?utf-8?B?RmxhV1JCM1lxd3k1dGVwV0dOZ2Y2MHZZc0ZZQUg3dTlyc1RWRE1IdWZQRU1Z?= =?utf-8?B?WElTazVGV1NWQlhwRmtzdnhPY1IreGUwY3B1VGh6RWVpWWE5U3E4RkdXaEts?= =?utf-8?B?VkdjSkVDV2xyZXNqYU9yVnFsSTdwdGlVMDhFMCtwOExLSW5la0lPTDBSaFNV?= =?utf-8?B?RGJhSitIMnh3MUVLNVdYdjRpcUx5WGVIRHA2RUVYdTR0VkF2MDMvNVpNdmxX?= =?utf-8?B?Yjh1akdDY0JMUVllYm5kdmZwQ2xQWHN4RElYKzhLVlo0anRGa20ybFpqcjlS?= =?utf-8?B?eVRicmtIUzV1VFJaemhXRFo5eWJSVk81RFIzakZ3bDNPTDQvMmlvS0NBelQ3?= =?utf-8?B?MWlXRzNFaW9iWWxCTlFVOEFHODFWWUt6QzB1NG02VWhnNWV3YVBPVG54cjZY?= =?utf-8?B?b2lieTBRQkhGZzljOU55NlpmN2MwS3N5QVVkSDR6V0prVTl3UGprRzdPM1pF?= =?utf-8?B?VVZlMXljVFJKWmRxREUvYk40VXNCbVpCWEQyMmFDQ042c1RER0Z6a1phUTVo?= =?utf-8?B?b2VMTnRDN2dyZ0RQRWpFTVZ3aDZjTmhyaDdCd1JWTnc0NHUwUW1rdk9IVmU1?= =?utf-8?B?RW9wTDkxeC9BZnU2OWhMc2FhYTFDU2h5MnhJallOYWtEZFhvRXd2a2V3MzBI?= =?utf-8?B?MmV6cmJzTCt0TXRFY2VnZXQ5VXhVMWcwVXZXMVhpa1hjWlVnSkdHNXdpMDdp?= =?utf-8?B?cVRvaG54a0FrNE9EZVV6Z1JNR3RXamRIbm5aNHhLa1RVY2R0bTkvRDhLd1JF?= =?utf-8?B?Mi9Wdjh6bTBFcGVvZERNTWRwS2tGNmRkSXkzZ0JiUCtwR1BUOGNXenQ2cEND?= =?utf-8?B?Qkd2NExhSkM4UERlaHFrbVVJbTJDTEVmcEx3ZXN0ckoxbTdFK21FNkxOR25v?= =?utf-8?B?QTJHUWtiSHlHZHRVbHFqcE1HY3k4SUVPYUV0c08zOUFMUzRZUE9tYzR0T015?= =?utf-8?B?N3RRTEhpNzd5Z1RTaDdlK25qMS9yN3VUN2VocFg3ZVUrSVRrTERYbFljdmh2?= =?utf-8?B?RkNiOWtKTk1HNWJxRG9YVDFvUGY2emxWZlFrdGlzLytuMHdsZnVEcXpkTklQ?= =?utf-8?B?QVlRMmVFSTRRRVQrUnd1SUtxdFErOXI1UnBhNHVReFIzbytXdjNqT05OTlhq?= =?utf-8?B?QjJMRjdveWVQU2kvOHRUYVRnOFVkWnVselRrRFhHM0Y0M3d3eW1XTGd2bXU0?= =?utf-8?B?VFYwTnVwaVIvcTVVYllLWCtIbUZRek5JbG10bmltZWsxRkJwczY4R1d5Wmx0?= =?utf-8?B?Nk9McXlVVkxqY0pKdzcwbXN0bUhnTUxydVQ0VGpMdEF2dkpGREZlWEFLMU52?= =?utf-8?B?N0FteFFzRVhnT3QzQ0RtQkI2a3FTNHh2MWZDbUlxY1U2ZzErZE41T3A2UmhE?= =?utf-8?B?S1BqZVBQbXIxejV2MHpwV3hIbnp1MXBQcENYQ1MzaFNmQ3d0ZGUrWlNxSDJQ?= =?utf-8?B?MHV3NFo4MHBvaGkrVlU0cFFJMnZLYzlXTTBKN2sxSGdmakE4V0NiNy90bGt3?= =?utf-8?Q?RQkmH3bganpuA?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 11281c8a-7702-42db-9d32-08d921e3aba2 X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3775.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2021 14:19:57.3248 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: MkgI/3pBHp0SmiYqPAdjjAGNl5bGNtVPu72mw/VFu6B1H/L6yF0vpL875VfBEQwO X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR12MB4740 Subject: Re: [Intel-gfx] [PATCH v5 07/15] drm: Add a prefetching memcpy_from_wc X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" QW0gMjcuMDUuMjEgdW0gMTY6NDcgc2NocmllYiBUaG9tYXMgSGVsbHN0csO2bToKPiBSZWFkaW5n IG91dCBvZiB3cml0ZS1jb21iaW5pbmcgbWFwcGVkIG1lbW9yeSBpcyB0eXBpY2FsbHkgdmVyeSBz bG93Cj4gc2luY2UgdGhlIENQVSBkb2Vzbid0IHByZWZldGNoLiBIb3dldmVyIHNvbWUgYXJjaHMg aGF2ZSBzcGVjaWFsCj4gaW5zdHJ1Y3Rpb25zIHRvIGRvIHRoaXMuCj4KPiBTbyBhZGQgYSBiZXN0 LWVmZm9ydCBtZW1jcHlfZnJvbV93YyB0YWtpbmcgZG1hLWJ1Zi1tYXAgcG9pbnRlcgo+IGFyZ3Vt ZW50cyB0aGF0IGF0dGVtcHRzIHRvIHVzZSBhIGZhc3QgcHJlZmV0Y2hpbmcgbWVtY3B5IGFuZAo+ IG90aGVyd2lzZSBmYWxscyBiYWNrIHRvIG9yZGluYXJ5IG1lbWNvcGllcywgdGFraW5nIHRoZSBp b21lbSB0YWdnaW5nCj4gaW50byBhY2NvdW50Lgo+Cj4gVGhlIGNvZGUgaXMgbGFyZ2VseSBjb3Bp ZWQgZnJvbSBpOTE1X21lbWNweV9mcm9tX3djLgo+Cj4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmll bEBmZndsbC5jaD4KPiBDYzogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQu Y29tPgo+IFN1Z2dlc3RlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPgo+IFNp Z25lZC1vZmYtYnk6IFRob21hcyBIZWxsc3Ryw7ZtIDx0aG9tYXMuaGVsbHN0cm9tQGxpbnV4Lmlu dGVsLmNvbT4KPiAtLS0KPiAgIERvY3VtZW50YXRpb24vZ3B1L2RybS1tbS5yc3QgfCAgIDIgKy0K PiAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fY2FjaGUuYyAgfCAxMzggKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKPiAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fZHJ2LmMgICAgfCAgIDIg Kwo+ICAgaW5jbHVkZS9kcm0vZHJtX2NhY2hlLmggICAgICB8ICAgNyArKwo+ICAgNCBmaWxlcyBj aGFuZ2VkLCAxNDggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+Cj4gZGlmZiAtLWdpdCBh L0RvY3VtZW50YXRpb24vZ3B1L2RybS1tbS5yc3QgYi9Eb2N1bWVudGF0aW9uL2dwdS9kcm0tbW0u cnN0Cj4gaW5kZXggMjFiZTZkZWFkYzEyLi5jNjYwNThjNWJjZTcgMTAwNjQ0Cj4gLS0tIGEvRG9j dW1lbnRhdGlvbi9ncHUvZHJtLW1tLnJzdAo+ICsrKyBiL0RvY3VtZW50YXRpb24vZ3B1L2RybS1t bS5yc3QKPiBAQCAtNDY5LDcgKzQ2OSw3IEBAIERSTSBNTSBSYW5nZSBBbGxvY2F0b3IgRnVuY3Rp b24gUmVmZXJlbmNlcwo+ICAgLi4ga2VybmVsLWRvYzo6IGRyaXZlcnMvZ3B1L2RybS9kcm1fbW0u Ywo+ICAgICAgOmV4cG9ydDoKPiAgIAo+IC1EUk0gQ2FjaGUgSGFuZGxpbmcKPiArRFJNIENhY2hl IEhhbmRsaW5nIGFuZCBGYXN0IFdDIG1lbWNweSgpCj4gICA9PT09PT09PT09PT09PT09PT0KPiAg IAo+ICAgLi4ga2VybmVsLWRvYzo6IGRyaXZlcnMvZ3B1L2RybS9kcm1fY2FjaGUuYwo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NhY2hlLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2NhY2hlLmMKPiBpbmRleCA3OWE1MGVmMTI1MGYuLjA4NjE0ZjdmZGQ4ZCAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NhY2hlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2NhY2hlLmMKPiBAQCAtMjgsNiArMjgsNyBAQAo+ICAgICogQXV0aG9yczogVGhvbWFzIEhlbGxz dHLDtm0gPHRob21hcy1hdC10dW5nc3RlbmdyYXBoaWNzLWRvdC1jb20+Cj4gICAgKi8KPiAgIAo+ ICsjaW5jbHVkZSA8bGludXgvZG1hLWJ1Zi1tYXAuaD4KPiAgICNpbmNsdWRlIDxsaW51eC9leHBv cnQuaD4KPiAgICNpbmNsdWRlIDxsaW51eC9oaWdobWVtLmg+Cj4gICAjaW5jbHVkZSA8bGludXgv bWVtX2VuY3J5cHQuaD4KPiBAQCAtMzUsNiArMzYsOSBAQAo+ICAgCj4gICAjaW5jbHVkZSA8ZHJt L2RybV9jYWNoZS5oPgo+ICAgCj4gKy8qIEEgc21hbGwgYm91bmNlIGJ1ZmZlciB0aGF0IGZpdHMg b24gdGhlIHN0YWNrLiAqLwo+ICsjZGVmaW5lIE1FTUNQWV9CT1VOQ0VfU0laRSAxMjgKPiArCj4g ICAjaWYgZGVmaW5lZChDT05GSUdfWDg2KQo+ICAgI2luY2x1ZGUgPGFzbS9zbXAuaD4KPiAgIAo+ IEBAIC0yMDksMyArMjEzLDEzNyBAQCBib29sIGRybV9uZWVkX3N3aW90bGIoaW50IGRtYV9iaXRz KQo+ICAgCXJldHVybiBtYXhfaW9tZW0gPiAoKHU2NCkxIDw8IGRtYV9iaXRzKTsKPiAgIH0KPiAg IEVYUE9SVF9TWU1CT0woZHJtX25lZWRfc3dpb3RsYik7Cj4gKwo+ICsjaWZkZWYgQ09ORklHX1g4 Ngo+ICsKPiArc3RhdGljIERFRklORV9TVEFUSUNfS0VZX0ZBTFNFKGhhc19tb3ZudGRxYSk7Cj4g Kwo+ICtzdGF0aWMgdm9pZCBfX21lbWNweV9udGRxYSh2b2lkICpkc3QsIGNvbnN0IHZvaWQgKnNy YywgdW5zaWduZWQgbG9uZyBsZW4pCj4gK3sKPiArCWtlcm5lbF9mcHVfYmVnaW4oKTsKPiArCj4g Kwl3aGlsZSAobGVuID49IDQpIHsKPiArCQlhc20oIm1vdm50ZHFhCSglMCksICUleG1tMFxuIgo+ ICsJCSAgICAibW92bnRkcWEgMTYoJTApLCAlJXhtbTFcbiIKPiArCQkgICAgIm1vdm50ZHFhIDMy KCUwKSwgJSV4bW0yXG4iCj4gKwkJICAgICJtb3ZudGRxYSA0OCglMCksICUleG1tM1xuIgo+ICsJ CSAgICAibW92YXBzICUleG1tMCwgICAoJTEpXG4iCj4gKwkJICAgICJtb3ZhcHMgJSV4bW0xLCAx NiglMSlcbiIKPiArCQkgICAgIm1vdmFwcyAlJXhtbTIsIDMyKCUxKVxuIgo+ICsJCSAgICAibW92 YXBzICUleG1tMywgNDgoJTEpXG4iCj4gKwkJICAgIDo6ICJyIiAoc3JjKSwgInIiIChkc3QpIDog Im1lbW9yeSIpOwo+ICsJCXNyYyArPSA2NDsKPiArCQlkc3QgKz0gNjQ7Cj4gKwkJbGVuIC09IDQ7 Cj4gKwl9Cj4gKwl3aGlsZSAobGVuLS0pIHsKPiArCQlhc20oIm1vdm50ZHFhICglMCksICUleG1t MFxuIgo+ICsJCSAgICAibW92YXBzICUleG1tMCwgKCUxKVxuIgo+ICsJCSAgICA6OiAiciIgKHNy YyksICJyIiAoZHN0KSA6ICJtZW1vcnkiKTsKPiArCQlzcmMgKz0gMTY7Cj4gKwkJZHN0ICs9IDE2 Owo+ICsJfQo+ICsKPiArCWtlcm5lbF9mcHVfZW5kKCk7Cj4gK30KPiArCj4gKy8qCj4gKyAqIF9f ZHJtX21lbWNweV9mcm9tX3djIGNvcGllcyBAbGVuIGJ5dGVzIGZyb20gQHNyYyB0byBAZHN0IHVz aW5nCj4gKyAqIG5vbi10ZW1wb3JhbCBpbnN0cnVjdGlvbnMgd2hlcmUgYXZhaWxhYmxlLiBOb3Rl IHRoYXQgYWxsIGFyZ3VtZW50cwo+ICsgKiAoQHNyYywgQGRzdCkgbXVzdCBiZSBhbGlnbmVkIHRv IDE2IGJ5dGVzIGFuZCBAbGVuIG11c3QgYmUgYSBtdWx0aXBsZQo+ICsgKiBvZiAxNi4KPiArICov Cj4gK3N0YXRpYyB2b2lkIF9fZHJtX21lbWNweV9mcm9tX3djKHZvaWQgKmRzdCwgY29uc3Qgdm9p ZCAqc3JjLCB1bnNpZ25lZCBsb25nIGxlbikKPiArewo+ICsJaWYgKHVubGlrZWx5KCgodW5zaWdu ZWQgbG9uZylkc3QgfCAodW5zaWduZWQgbG9uZylzcmMgfCBsZW4pICYgMTUpKQo+ICsJCW1lbWNw eShkc3QsIHNyYywgbGVuKTsKPiArCWVsc2UgaWYgKGxpa2VseShsZW4pKQo+ICsJCV9fbWVtY3B5 X250ZHFhKGRzdCwgc3JjLCBsZW4gPj4gNCk7Cj4gK30KPiArI2VuZGlmCj4gKwo+ICtzdGF0aWMg dm9pZCBtZW1jcHlfZmFsbGJhY2soc3RydWN0IGRtYV9idWZfbWFwICpkc3QsCj4gKwkJCSAgICBj b25zdCBzdHJ1Y3QgZG1hX2J1Zl9tYXAgKnNyYywKPiArCQkJICAgIHVuc2lnbmVkIGxvbmcgbGVu KQo+ICt7Cj4gKwlpZiAoIWRzdC0+aXNfaW9tZW0gJiYgIXNyYy0+aXNfaW9tZW0pIHsKPiArCQlt ZW1jcHkoZHN0LT52YWRkciwgc3JjLT52YWRkciwgbGVuKTsKPiArCX0gZWxzZSBpZiAoIXNyYy0+ aXNfaW9tZW0pIHsKPiArCQlkbWFfYnVmX21hcF9tZW1jcHlfdG8oZHN0LCBzcmMtPnZhZGRyLCBs ZW4pOwo+ICsJfSBlbHNlIGlmICghZHN0LT5pc19pb21lbSkgewo+ICsJCW1lbWNweV9mcm9taW8o ZHN0LT52YWRkciwgc3JjLT52YWRkcl9pb21lbSwgbGVuKTsKPiArCX0gZWxzZSB7Cj4gKwkJLyoK PiArCQkgKiBCb3VuY2Ugc2l6ZSBpcyBub3QgcGVyZm9ybWFuY2UgdHVuZWQsIGJ1dCB1c2luZyBh Cj4gKwkJICogYm91bmNlIGJ1ZmZlciBsaWtlIHRoaXMgaXMgc2lnbmlmaWNhbnRseSBmYXN0ZXIg dGhhbgo+ICsJCSAqIHJlc29ydGluZyB0byBpb3JlYWR4eCgpICsgaW93cml0ZXh4KCkuCj4gKwkJ ICovCj4gKwkJY2hhciBib3VuY2VbTUVNQ1BZX0JPVU5DRV9TSVpFXTsKPiArCQl2b2lkIF9faW9t ZW0gKl9zcmMgPSBzcmMtPnZhZGRyX2lvbWVtOwo+ICsJCXZvaWQgX19pb21lbSAqX2RzdCA9IGRz dC0+dmFkZHJfaW9tZW07Cj4gKwo+ICsJCXdoaWxlIChsZW4gPj0gTUVNQ1BZX0JPVU5DRV9TSVpF KSB7Cj4gKwkJCW1lbWNweV9mcm9taW8oYm91bmNlLCBfc3JjLCBNRU1DUFlfQk9VTkNFX1NJWkUp Owo+ICsJCQltZW1jcHlfdG9pbyhfZHN0LCBib3VuY2UsIE1FTUNQWV9CT1VOQ0VfU0laRSk7Cj4g KwkJCV9zcmMgKz0gTUVNQ1BZX0JPVU5DRV9TSVpFOwo+ICsJCQlfZHN0ICs9IE1FTUNQWV9CT1VO Q0VfU0laRTsKPiArCQkJbGVuIC09IE1FTUNQWV9CT1VOQ0VfU0laRTsKPiArCQl9Cj4gKwkJaWYg KGxlbikgewo+ICsJCQltZW1jcHlfZnJvbWlvKGJvdW5jZSwgX3NyYywgTUVNQ1BZX0JPVU5DRV9T SVpFKTsKPiArCQkJbWVtY3B5X3RvaW8oX2RzdCwgYm91bmNlLCBNRU1DUFlfQk9VTkNFX1NJWkUp Owo+ICsJCX0KPiArCX0KPiArfQo+ICsKPiArLyoqCj4gKyAqIGRybV9tZW1jcHlfZnJvbV93YyAt IFBlcmZvcm0gdGhlIGZhc3Rlc3QgYXZhaWxhYmxlIG1lbWNweSBmcm9tIGEgc291cmNlCj4gKyAq IHRoYXQgbWF5IGJlIFdDLgo+ICsgKiBAZHN0OiBUaGUgZGVzdGluYXRpb24gcG9pbnRlcgo+ICsg KiBAc3JjOiBUaGUgc291cmNlIHBvaW50ZXIKPiArICogQGxlbjogVGhlIHNpemUgb2YgdGhlIGFy ZWEgbyB0cmFuc2ZlciBpbiBieXRlcwo+ICsgKgo+ICsgKiBUcmllcyBhbiBhcmNoIG9wdGltaXpl ZCBtZW1jcHkgZm9yIHByZWZldGNoaW5nIHJlYWRpbmcgb3V0IG9mIGEgV0MgcmVnaW9uLAo+ICsg KiBhbmQgaWYgbm8gc3VjaCBiZWFzdCBpcyBhdmFpbGFibGUsIGZhbGxzIGJhY2sgdG8gYSBub3Jt YWwgbWVtY3B5Lgo+ICsgKi8KPiArdm9pZCBkcm1fbWVtY3B5X2Zyb21fd2Moc3RydWN0IGRtYV9i dWZfbWFwICpkc3QsCj4gKwkJCWNvbnN0IHN0cnVjdCBkbWFfYnVmX21hcCAqc3JjLAo+ICsJCQl1 bnNpZ25lZCBsb25nIGxlbikKPiArewo+ICsJaWYgKFdBUk5fT04oaW5faW50ZXJydXB0KCkpKQo+ ICsJCXJldHVybjsKCkkgd291bGQgZWl0aGVyIG1ha2UgaXQgYSBCVUdfT04oKSBvciBhdCBsZWFz dCB1c2UgdGhlIGZhbGxiYWNrIG1lbWNweS4KCkp1c3QgcmV0dXJuaW5nIHdpdGhvdXQgZG9pbmcg YW55dGhpbmcgaXNuJ3QgcmVhbGx5IG5pY2UuCgpDaHJpc3RpYW4uCgo+ICsKPiArCWlmIChJU19F TkFCTEVEKENPTkZJR19YODYpICYmIHN0YXRpY19icmFuY2hfbGlrZWx5KCZoYXNfbW92bnRkcWEp KSB7Cj4gKwkJX19kcm1fbWVtY3B5X2Zyb21fd2MoZHN0LT5pc19pb21lbSA/Cj4gKwkJCQkgICAg ICh2b2lkIF9fZm9yY2UgKilkc3QtPnZhZGRyX2lvbWVtIDoKPiArCQkJCSAgICAgZHN0LT52YWRk ciwKPiArCQkJCSAgICAgc3JjLT5pc19pb21lbSA/Cj4gKwkJCQkgICAgICh2b2lkIGNvbnN0IF9f Zm9yY2UgKilzcmMtPnZhZGRyX2lvbWVtIDoKPiArCQkJCSAgICAgc3JjLT52YWRkciwKPiArCQkJ CSAgICAgbGVuKTsKPiArCQlyZXR1cm47Cj4gKwl9Cj4gKwo+ICsJbWVtY3B5X2ZhbGxiYWNrKGRz dCwgc3JjLCBsZW4pOwo+ICt9Cj4gK0VYUE9SVF9TWU1CT0woZHJtX21lbWNweV9mcm9tX3djKTsK PiArCj4gKyNpZmRlZiBDT05GSUdfWDg2Cj4gKy8qKgo+ICsgKiBkcm1fbWVtY3B5X2luaXRfZWFy bHkgLSBPbmUgdGltZSBpbml0aWFsaXphdGlvbiBvZiB0aGUgV0MgbWVtY3B5IGNvZGUKPiArICov Cj4gK3ZvaWQgZHJtX21lbWNweV9pbml0X2Vhcmx5KHZvaWQpCj4gK3sKPiArCS8qCj4gKwkgKiBT b21lIGh5cGVydmlzb3JzIChlLmcuIEtWTSkgZG9uJ3Qgc3VwcG9ydCBWRVgtcHJlZml4IGluc3Ry dWN0aW9ucwo+ICsJICogZW11bGF0aW9uLiBTbyBkb24ndCBlbmFibGUgbW92bnRkcWEgaW4gaHlw ZXJ2aXNvciBndWVzdC4KPiArCSAqLwo+ICsJaWYgKHN0YXRpY19jcHVfaGFzKFg4Nl9GRUFUVVJF X1hNTTRfMSkgJiYKPiArCSAgICAhYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0hZUEVSVklTT1Ip KQo+ICsJCXN0YXRpY19icmFuY2hfZW5hYmxlKCZoYXNfbW92bnRkcWEpOwo+ICt9Cj4gKyNlbHNl Cj4gK3ZvaWQgZHJtX21lbWNweV9pbml0X2Vhcmx5KHZvaWQpCj4gK3sKPiArfQo+ICsjZW5kaWYK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fZHJ2LmMKPiBpbmRleCAzZDhkNjhhOThiOTUuLjg4MDRlYzdkMzIxNSAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9kcnYuYwo+IEBAIC0zNSw2ICszNSw3IEBACj4gICAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgo+ ICAgI2luY2x1ZGUgPGxpbnV4L3NyY3UuaD4KPiAgIAo+ICsjaW5jbHVkZSA8ZHJtL2RybV9jYWNo ZS5oPgo+ICAgI2luY2x1ZGUgPGRybS9kcm1fY2xpZW50Lmg+Cj4gICAjaW5jbHVkZSA8ZHJtL2Ry bV9jb2xvcl9tZ210Lmg+Cj4gICAjaW5jbHVkZSA8ZHJtL2RybV9kcnYuaD4KPiBAQCAtMTA0MSw2 ICsxMDQyLDcgQEAgc3RhdGljIGludCBfX2luaXQgZHJtX2NvcmVfaW5pdCh2b2lkKQo+ICAgCj4g ICAJZHJtX2Nvbm5lY3Rvcl9pZGFfaW5pdCgpOwo+ICAgCWlkcl9pbml0KCZkcm1fbWlub3JzX2lk cik7Cj4gKwlkcm1fbWVtY3B5X2luaXRfZWFybHkoKTsKPiAgIAo+ICAgCXJldCA9IGRybV9zeXNm c19pbml0KCk7Cj4gICAJaWYgKHJldCA8IDApIHsKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0v ZHJtX2NhY2hlLmggYi9pbmNsdWRlL2RybS9kcm1fY2FjaGUuaAo+IGluZGV4IGU5YWQ0ODYzZDkx NS4uY2M5ZGUxNjMyZGQzIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9jYWNoZS5oCj4g KysrIGIvaW5jbHVkZS9kcm0vZHJtX2NhY2hlLmgKPiBAQCAtMzUsNiArMzUsOCBAQAo+ICAgCj4g ICAjaW5jbHVkZSA8bGludXgvc2NhdHRlcmxpc3QuaD4KPiAgIAo+ICtzdHJ1Y3QgZG1hX2J1Zl9t YXA7Cj4gKwo+ICAgdm9pZCBkcm1fY2xmbHVzaF9wYWdlcyhzdHJ1Y3QgcGFnZSAqcGFnZXNbXSwg dW5zaWduZWQgbG9uZyBudW1fcGFnZXMpOwo+ICAgdm9pZCBkcm1fY2xmbHVzaF9zZyhzdHJ1Y3Qg c2dfdGFibGUgKnN0KTsKPiAgIHZvaWQgZHJtX2NsZmx1c2hfdmlydF9yYW5nZSh2b2lkICphZGRy LCB1bnNpZ25lZCBsb25nIGxlbmd0aCk7Cj4gQEAgLTcwLDQgKzcyLDkgQEAgc3RhdGljIGlubGlu ZSBib29sIGRybV9hcmNoX2Nhbl93Y19tZW1vcnkodm9pZCkKPiAgICNlbmRpZgo+ICAgfQo+ICAg Cj4gK3ZvaWQgZHJtX21lbWNweV9pbml0X2Vhcmx5KHZvaWQpOwo+ICsKPiArdm9pZCBkcm1fbWVt Y3B5X2Zyb21fd2Moc3RydWN0IGRtYV9idWZfbWFwICpkc3QsCj4gKwkJCWNvbnN0IHN0cnVjdCBk bWFfYnVmX21hcCAqc3JjLAo+ICsJCQl1bnNpZ25lZCBsb25nIGxlbik7Cj4gICAjZW5kaWYKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=