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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 53195C4345F for ; Mon, 22 Apr 2024 13:52:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=nehXA7BLhu/P0h3X1F9egz4KdiRA2jnm2VtGk/4Os78=; b=VYiLASisK56f4N Tw/Gy+ZHRHI9LFI1moTpNcrQagrbQB5TNM/hjVPBT9YTtVycSocf7RRLe63kCGnkYkDWy6ze6fTkJ LnNjpu9DbLJsrEw9ejYeLyoNbiG8c86sMhDnXOm7aYEK/ZBrXCt3se3Zh2PVZ1x63+vFQB8QloYIl IhWavtkhFTWdqE+TK20N4eosp4e5W6KVaIw0oL8qaAdxK7mKkQhOOZYTX+dAJ9BSv1vvR/70TqsKO WZIBq26ePfldONDbtzD9WV16i6rKrVZOq9XpuwWPjkjTDwmitzHSbyCcE5e3RSXCCjaMIIcqO57Jy WzEP2ip/4hJGJsisHarg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1ryu5i-0000000DpJs-3VbB; Mon, 22 Apr 2024 13:52:18 +0000 Received: from mail-bn8nam12on20600.outbound.protection.outlook.com ([2a01:111:f403:2418::600] helo=NAM12-BN8-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1ryu5f-0000000DpIE-0fO6 for linux-arm-kernel@lists.infradead.org; Mon, 22 Apr 2024 13:52:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZrLPCdAuPsncJvwRCrzvIY/p42uECG6mEwvJ0lGRspE2xynGb8UjVh9ysvKTEjtQmOBvu23M+Ao6TLIPaODuQnmURb3obWiilKTZH4hICCbTlMYycZyYgbYxHPCsnyK3zPlBZdJg5QTeUhnrPtlxK7Kn+hANHpBmreS2t6GAwz4AGZc0693WO0YPl+BjtpPJACteSE3ud3e5A4OZBSiGiT0eBsVm72K5TBvs7of32SXlNfUkn98VhA0/c5aanpW8eyWESvBoM2QUS3ftrHo4zqIochzFpt+Hpm5socajXrnXt4ewzGYZ0SzxMuPC3WUbhB9nC4mmf0HV4RGpvph47Q== 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=8ykzdVki+3aj6IFPlzVIliFKweNJ0EIfdRKtmPVmc/4=; b=l47Z1IPo5OYdi0bVD9/ZqaZMLc0Hd60FuxiZveWuu1xmbhyTC9DTHWipqFDfKdGxy9j+qIZhPH168X5pKDGOkCy/R/HHPYSVz4AHunV2rqPsBCXt40XivLgZg2oXtqY49kk+orEGoJrtHO11AXjiYVI4nt/zJXLAqSptgUFuTRgBjYNO33M0JWuXWifVuiV9iYxZ2QhZkwO9VQs9cdYi/4fgnvtUA6Y6a/ayQOwtUaRTHYI5mRzFaN9BKOFX0C1eNUwCQsFv+N1ODlCpgPVgGrdQTUZ0ksK/rLhYG9pj3qXIafp78rZKSaZuW3itfWZq4GidF+UB7IxQz8TxSNA6WA== 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=8ykzdVki+3aj6IFPlzVIliFKweNJ0EIfdRKtmPVmc/4=; b=pqBaNgTs56akxO9Bfiaz01OuOBBS97GLW6m1hsQdpvFyfZC0QQsIlz2IRVmvGrJxbL8e0xO2GwT1+FPqC+bMf/XVu5qtPocOnJfmAvrjDgMY3mt04ZquZZcYWRbm9MjwvQPrjvmT/guexg02qye0KsgMFquZLSlop/e8Nmw0XNmgYX5tGlJSi6Eadazw5vsqnIqBanffYrHsJB0ouSX/y8LqvUoX8IiwERj/HaSri7j7KtHKVspan7c+fLfLy84FiZ4wWG228aYZ7XBnTPz6oMccIBTcTtimYKpy+tbTSGlNVXPjoQHo1SxhFOGK2t4QGpWhNBComG5ti/t0qjOtJQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from DM6PR12MB3849.namprd12.prod.outlook.com (2603:10b6:5:1c7::26) by SA0PR12MB4464.namprd12.prod.outlook.com (2603:10b6:806:9f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Mon, 22 Apr 2024 13:52:05 +0000 Received: from DM6PR12MB3849.namprd12.prod.outlook.com ([fe80::6aec:dbca:a593:a222]) by DM6PR12MB3849.namprd12.prod.outlook.com ([fe80::6aec:dbca:a593:a222%5]) with mapi id 15.20.7472.044; Mon, 22 Apr 2024 13:52:05 +0000 Date: Mon, 22 Apr 2024 10:52:04 -0300 From: Jason Gunthorpe To: Mostafa Saleh Cc: iommu@lists.linux.dev, Joerg Roedel , linux-arm-kernel@lists.infradead.org, Robin Murphy , Will Deacon , Eric Auger , Moritz Fischer , Moritz Fischer , Michael Shavit , Nicolin Chen , patches@lists.linux.dev, Shameerali Kolothum Thodi Subject: Re: [PATCH v7 3/9] iommu/arm-smmu-v3: Move the CD generation for S1 domains into a function Message-ID: <20240422135204.GC49823@nvidia.com> References: <0-v7-cb149db3a320+3b5-smmuv3_newapi_p2_jgg@nvidia.com> <3-v7-cb149db3a320+3b5-smmuv3_newapi_p2_jgg@nvidia.com> Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: BL1PR13CA0408.namprd13.prod.outlook.com (2603:10b6:208:2c2::23) To DM6PR12MB3849.namprd12.prod.outlook.com (2603:10b6:5:1c7::26) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6PR12MB3849:EE_|SA0PR12MB4464:EE_ X-MS-Office365-Filtering-Correlation-Id: 096b9294-51d0-412b-9b4c-08dc62d364e4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: =?utf-8?B?Yk9rT2lUOVMyam5OY21YOXBocjlYMXVXdFpPdkJjd2RDNEhiN053elFuUzhK?= =?utf-8?B?N0dXNXdlM05sOUFGeGlEWitMSUNvWmxNV0RTSndxZDNxZVFlUG1iYzFqQXZE?= =?utf-8?B?MmEydlozZ2kzdDBXeFRwWUtXempPMHQ1NHhjeFExUWVGNjdyT1Z5SFRoTVI1?= =?utf-8?B?ODlrcHRRNm1sUm1wbGRpZlhlUWNGUW16WTZyTUV2NzgraW5mOTZkcy85aFRl?= =?utf-8?B?SGw4RWFZdHhHUnVEUXhCTWcvc29lVnMza1ZLWDk4ZkZLeUtMNy9DTUlNNGhy?= =?utf-8?B?Q0srOG9EMTMycGhBbWFmKy83L1NWZHFpb2pHdUM3OTRDcG13NDNIckhVV21B?= =?utf-8?B?ekorMllLbTJWNWJBWlhtZmdyR1dGbWdibEd4MkEvQjcxS0E5ZEx2ZEFZRVpD?= =?utf-8?B?VzB5UVJ4YnA4NCtYb0QzaGhrdk1lNnRWRUdJWEd2MDl5ci9hajRYc2JiVFFH?= =?utf-8?B?UVdmT3ZZbFdzQkgrRnJDaTJBWHR5TEtYMC9BUjRnZE5yMW1UT2UrQXZvSXYz?= =?utf-8?B?RG5HN3RzSmFsS3l4MzFkZmtkc2RiSHJ2WHJYMENTY2h6M0hnclk0YmpmclJN?= =?utf-8?B?VlVyVWFSR2VyV2VtTUUrVFBrY1pxenZaZXlPYVl4a2VFSzVicm0zaStJTDht?= =?utf-8?B?VTlOd2VubzdneFVVcUFaT1B1bUtkSzVaR1JocmJHTEd3clJya0t4cEkrRDhH?= =?utf-8?B?SlVmajcvbnpqYWRMeWdFOW1idVorQm00OUlxcTlTTHRycU9EdU1TOWRmQ0JS?= =?utf-8?B?WXBYbEFxTkVaNnNLWG1xRWZ3RzNjcjdyK2lLZCtXNjJmWkhGZkF5WE1zdmZT?= =?utf-8?B?d0c3U3RrYVpzRmpUbnNIcWRFSFptKzhUMDdvcFQ5ODdTcVdsaW9ZdmVodHk0?= =?utf-8?B?L3dSM2JJUEwzdUpIdzU1M0ZOUnNHZkRScmpjVC9WMlRMRzFPYkZtUkpTRWtN?= =?utf-8?B?MmpCY0V5OFg2eEVzU1JvR0MwSytBUnZxZTdXYXpDR25IbTVjZmxVa0ltZ3FM?= =?utf-8?B?OFNBcFF5UFZhTHdpejUrOWxaaldWRDVUVjJ2U0UvbWdvZGluNUhzaVNKeFF4?= =?utf-8?B?SHE2ZWxGbXJjKzFJanh5dmJ5RVp4S2JRTGQySS84bnVtVWs4SmRKeFlvUkRm?= =?utf-8?B?UlU1Y2lkRzdBTUNSNjcrS0FJT201UlVXelM1Y05XZ2ZvVFc2dHYrRXhaUTFF?= =?utf-8?B?OE9WQXljLzltL0dvSERXZ0pBMDBkSWNsbTl3RDNTd1lUWnpjdC9IOUdFV3kr?= =?utf-8?B?UTZ3UVNsMVBqNGlXMVA3WGwzRzhlZzhwa05yTEF3Uk10a1RrdWJ0ek5MMzNh?= =?utf-8?B?RGxkeHV3SkpJRHdKbklXQTlSWlE0dExiRXdNOGwrbjAxaUMrMGorL0tHVEh6?= =?utf-8?B?YU9pWUgyMUlublQyd1VWektJQzBNUTdydUdLVWhtVU9yN0tkOFpsVVRjMmY0?= =?utf-8?B?S2N5a3FjdUNQT1ZIRHMzV2NtTFI5bjA5MnU1TWFtSlQzZjI0bkFkb0Q4elJi?= =?utf-8?B?MVM1cEVkcnFTZzVLQ24vK2QyelFUeUlFRGt4Nmc5WXM3blp0MHZrM2JSamhS?= =?utf-8?B?c3QvcHFnVVdjbE5zRDJrOXJRV2RHY2ltK2RFRFYxZzF1SUw4ZGZEenhaTHJp?= =?utf-8?B?bU94NlZTU2QwbWVNd1FQdDloSkxTNVM1ZXNqYXJBOWVETXpBZEhiSldZSk1o?= =?utf-8?B?RW9mTFVNOHlhMXE3TGNTUUlHbmJCZjU3YUh3RGRiR1BXQjZEUE1nY1dBPT0=?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR12MB3849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(7416005)(1800799015)(376005)(366007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Qkt3SkxBdkFsNW9pcDMzaUdMNFdtbWx3aVhLZEx2L1VCcXN0SzVSeXJSZVdG?= =?utf-8?B?RzFyWEVJbGJtaWZ2czhXdTZjeFhucVM4WVNwbUc0TXZsa0c2a0h6bUtEK25Y?= =?utf-8?B?UmxkSmkzUnRNajZsdjBoL0VJS3FGMmlxcVcrRW1PRkt3a3Vaa2I0T09NNkxV?= =?utf-8?B?L2h5eWVxSXVzTmp5SXRmSGkyY09wc2RxODExVjZiaStIOWRVQVdpekFCV0dt?= =?utf-8?B?R0JZb1c2VHA3MWRoa05FQkExQjBYT1VIeDVNL0NxazJ4RVBPWmhGYUVnMm9I?= =?utf-8?B?QjJtZ1JuUzFWRWdnVzJSalhyMitYZy84WEZJdnpjTmlDR3lHUXFDbnNmRUN6?= =?utf-8?B?Um5laVRmZmRYdzY0ZHdoRmkveDJVcElHbHIxZU52anBSb1h0cUtPamZoV1c0?= =?utf-8?B?Vm9aNmdiZGRwTHJvaVZYTGkxaDdhbHp6MXVYRVZLMDZaUzB5anNwMGN4QS8w?= =?utf-8?B?TlpUNDN6aTJ4c1NUeU52M3A3UldjTWlIU1BaN29BM3FIQXkrSHBOOS92dEZs?= =?utf-8?B?bzRKdlU0RVZCUDZiSURraGxEbkxSWEpPczBOOWM3bkRxeDc1VFErbWZWOERO?= =?utf-8?B?dy91ak1ZZUFGTHUzUXdvMFBSMzJnQXdKVTNhODVtTXhsQjhWOHdldzVzRFpD?= =?utf-8?B?azV5SzNsRFRzT3psUUxrb1dGbTdiNSsvaU1tNHNBTzNpYXdmTlEvbXh3Zmkw?= =?utf-8?B?VWk4RGp4YTVJdmhTZ3VZaDBXTlZJUmZneWdzZ0g2SGFabVRURXRmclFVU2R2?= =?utf-8?B?SHdWZCtWNlk2aGFTa21Eb3I0enl3bmxmK3g5ci8wRG1kYkR3c25jMzF4Qjg3?= =?utf-8?B?UWRubUtCNXBNNGRQR1RVa242eWpVMnlNVG5wZE1oSWZkaFRYYTlOc0p6M3JN?= =?utf-8?B?VVR6Q3g4bWY0OUJ3K0hUWEV2WTlIcEVUNy9IWU5BY2FkUDN3L3huRTZESElG?= =?utf-8?B?emJrbjJZcjlOVmZieU5uT2p5T0VWb2gxVTE1MFZJVFdUK2NpcUNQcG03NGNl?= =?utf-8?B?bXRWQkpNaVhyM0xFTmx6N2hMMTF3bnAvUUJnSTJjZllLeERQWDNBbnBzWCtk?= =?utf-8?B?SGJSeVRWZnAvSUo5QzZiWExEaytVb2tDelBnUkZjQWZMVkw4N0NMMEhnK0Rv?= =?utf-8?B?YWQvV0E2R1phRjMwOXRkUDRKTlJ2bmFhVUp5aThvdnVMQXAwRWJXT1U3Wk80?= =?utf-8?B?V0ZZejJnbUVwYmFZTVlJUDM2VGIzcm1XMDhnNHViR1h2S3JwdWw0bnF6U2pN?= =?utf-8?B?ZHpxOGNMNmI5RDB5Y1ZmdWt2dGszSTEzRUVFY3k2SEV6OHcwV1hMbHFUR1Bu?= =?utf-8?B?bnhiYVVZdjdxbEhRc3k3Ymp5MkZ5dUVBcGdaamRoeENqQXgrSWc1bkdkdFNS?= =?utf-8?B?ODZ2YVpOUFozekZQNjYzZmNEQlVBZTNQUnZhbjdFRHhMd2J5dEpTcExTNnhF?= =?utf-8?B?cFIyOVZKZlJyM0pEWUExRlREQ1Y4NFZRV0xGdGFTMXFuOE51UGhtWlptWS9Z?= =?utf-8?B?amNLUVhHcnVqRk1aVzlFT2dUdVU2VU56aHorQWh5VVRtUCtOK2l2U3p3WXRj?= =?utf-8?B?ZGNKQlNseVgwY3BmMG9HUFJkL2Rjd2pERWx5SFJuOGVjeDBlV1RJdTIxejFw?= =?utf-8?B?WFhEd0UzaHA3dmxRTHFpNmtJWndYNDhQYjlWZDd5RDhHdU9uTEFGc3Z0akt1?= =?utf-8?B?WWVMbHI3OE02b0VCOUszMEVRZmR4ZUlDRmFjUXNITFluR3lzNS9IMU85VGpx?= =?utf-8?B?a2dvdGNpMkNJaFdqYzRMVGZNQmZPbVNnWEpHaUllRWlaVVZNMFRIdzY1TnRL?= =?utf-8?B?ZG91T2JjT0FlZGt2Z1lWTnVaYXlQZTBiT1ZZMmhnSEcxaVlUc0RzMjhTR2hC?= =?utf-8?B?TmNPdmdSVE1sc1lpdTFkQ3FLK2sxalVQSSs1aTlJY2c4Qi95S2ZUM0xYQmxC?= =?utf-8?B?R1ZVRzc3NXRJTUhkczlTNU55TU1mTWZkQ2sxcUlVYlhsNTU5SlJYMHhZZHpL?= =?utf-8?B?TWRSYkZHYW9VUHNscnMzaTU1c3pqcmhaZzFpeGFyMW15TS8zQzQwWmM1Zmxj?= =?utf-8?B?Y2NsZ04xK2grUmQzUG1OZitIdEVPTW1EMUlYejVDZFdtbWpOMWNxRlhST0Rk?= =?utf-8?Q?NO9gIkMgLQkztioJ2+vz5YQGC?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 096b9294-51d0-412b-9b4c-08dc62d364e4 X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB3849.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2024 13:52:05.2263 (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: h1LEAm8S+p0BjA8LYp8C2SEl28SM3xSV7k1/J09ax8sNZUjsJ9MljndBAWrr7Uwr X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4464 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240422_065215_308167_DF0B6A91 X-CRM114-Status: GOOD ( 35.44 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gRnJpLCBBcHIgMTksIDIwMjQgYXQgMDk6MTA6NTlQTSArMDAwMCwgTW9zdGFmYSBTYWxlaCB3 cm90ZToKPiBIaSBKYXNvbiwKPiAKPiBPbiBUdWUsIEFwciAxNiwgMjAyNCBhdCAwNDoyODoxNFBN IC0wMzAwLCBKYXNvbiBHdW50aG9ycGUgd3JvdGU6Cj4gPiBJbnRyb2R1Y2UgYXJtX3NtbXVfbWFr ZV9zMV9jZCgpIHRvIGJ1aWxkIHRoZSBDRCBmcm9tIHRoZSBwYWdpbmcgUzEgZG9tYWluLAo+ID4g YW5kIHJlb3JnYW5pemUgYWxsIHRoZSBwbGFjZXMgcHJvZ3JhbW1pbmcgUzEgZG9tYWluIENEIHRh YmxlIGVudHJpZXMgdG8KPiA+IGNhbGwgaXQuCj4gPiAKPiA+IFNwbGl0IGFybV9zbW11X3VwZGF0 ZV9zMV9kb21haW5fY2RfZW50cnkoKSBmcm9tCj4gPiBhcm1fc21tdV91cGRhdGVfY3R4X2Rlc2Nf ZGV2aWNlcygpIHNvIHRoYXQgdGhlIFMxIHBhdGggaGFzIGl0cyBvd24gY2FsbAo+ID4gY2hhaW4g c2VwYXJhdGUgZnJvbSB0aGUgdW5yZWxhdGVkIFNWQSBwYXRoLgo+ID4gCj4gPiBhcm1fc21tdV91 cGRhdGVfczFfZG9tYWluX2NkX2VudHJ5KCkgb25seSB3b3JrcyBvbiBTMSBkb21haW5zCj4gPiBh dHRhY2hlZCB0byBSSURzIGFuZCByZWZyZXNoZXMgYWxsIHRoZWlyIENEcy4KPiA+IAo+ID4gUmVt b3ZlIHRoZSBmb3JjZWQgY2xlYXIgb2YgdGhlIENEIGR1cmluZyBTMSBkb21haW4gYXR0YWNoLAo+ ID4gYXJtX3NtbXVfd3JpdGVfY2RfZW50cnkoKSB3aWxsIGRvIHRoaXMgYXV0b21hdGljYWxseSBp ZiBuZWNlc3NhcnkuCj4gPiAKPiA+IFRlc3RlZC1ieTogTmljb2xpbiBDaGVuIDxuaWNvbGluY0Bu dmlkaWEuY29tPgo+ID4gVGVzdGVkLWJ5OiBTaGFtZWVyIEtvbG90aHVtIDxzaGFtZWVyYWxpLmtv bG90aHVtLnRob2RpQGh1YXdlaS5jb20+Cj4gPiBSZXZpZXdlZC1ieTogTWljaGFlbCBTaGF2aXQg PG1zaGF2aXRAZ29vZ2xlLmNvbT4KPiA+IFNpZ25lZC1vZmYtYnk6IEphc29uIEd1bnRob3JwZSA8 amdnQG52aWRpYS5jb20+Cj4gPiAtLS0KPiA+ICAuLi4vaW9tbXUvYXJtL2FybS1zbW11LXYzL2Fy bS1zbW11LXYzLXN2YS5jICAgfCAyNSArKysrKysrLQo+ID4gIGRyaXZlcnMvaW9tbXUvYXJtL2Fy bS1zbW11LXYzL2FybS1zbW11LXYzLmMgICB8IDYwICsrKysrKysrKysrKystLS0tLS0KPiA+ICBk cml2ZXJzL2lvbW11L2FybS9hcm0tc21tdS12My9hcm0tc21tdS12My5oICAgfCAgOSArKysKPiA+ ICAzIGZpbGVzIGNoYW5nZWQsIDc2IGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQo+ID4g Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9pb21tdS9hcm0vYXJtLXNtbXUtdjMvYXJtLXNtbXUt djMtc3ZhLmMgYi9kcml2ZXJzL2lvbW11L2FybS9hcm0tc21tdS12My9hcm0tc21tdS12My1zdmEu Ywo+ID4gaW5kZXggNDFiNDRiYWVmMTVlODAuLmQxNTlmNjA0ODA5MzVlIDEwMDY0NAo+ID4gLS0t IGEvZHJpdmVycy9pb21tdS9hcm0vYXJtLXNtbXUtdjMvYXJtLXNtbXUtdjMtc3ZhLmMKPiA+ICsr KyBiL2RyaXZlcnMvaW9tbXUvYXJtL2FybS1zbW11LXYzL2FybS1zbW11LXYzLXN2YS5jCj4gPiBA QCAtNTMsNiArNTMsMjkgQEAgc3RhdGljIHZvaWQgYXJtX3NtbXVfdXBkYXRlX2N0eF9kZXNjX2Rl dmljZXMoc3RydWN0IGFybV9zbW11X2RvbWFpbiAqc21tdV9kb21haW4KPiA+ICAJc3Bpbl91bmxv Y2tfaXJxcmVzdG9yZSgmc21tdV9kb21haW4tPmRldmljZXNfbG9jaywgZmxhZ3MpOwo+ID4gIH0K PiA+ICAKPiA+ICtzdGF0aWMgdm9pZAo+ID4gK2FybV9zbW11X3VwZGF0ZV9zMV9kb21haW5fY2Rf ZW50cnkoc3RydWN0IGFybV9zbW11X2RvbWFpbiAqc21tdV9kb21haW4pCj4gCj4gbml0OiBzaG91 bGRu4oCZdCB0aGF0IGJlIGFybV9zbW11X3VwZGF0ZV9zdmFfZG9tYWluX2NkX2VudHJ5PwoKTm8s IHRoYXQgYWN0dWFsbHkgd2FzIG15IHNhbWUgY29uZnVzaW9uIHRvbyB3aGVuIEkgd2FzIGZpcnN0 IGxvb2tpbmcKYXQgdGhpcy4gVGhlIGxvZ2ljIHVwZGF0ZXMgYSAqUzEqIGRvbWFpbidzIENELCBp dCBkb2Vzbid0IHRvdWNoIGEgU1ZBCkNEIG9yIGEgU1ZBIGRvbWFpbi4KCkl0IGFjdHVhbGx5IGhh cyBub3RoaW5nIHRvIGRvIHdpdGggU1ZBLCB0aGlzIGlzIHBhcnQgb2YgQlRNIHN1cHBvcnQgdG8K Y2hhbmdlIHRoZSBBU0lEIGluIGFscmVhZHkgcHJvZ3JhbW1lZCBTMSBkb21haW5zLgoKPiA+ICt7 Cj4gPiArCXN0cnVjdCBhcm1fc21tdV9tYXN0ZXIgKm1hc3RlcjsKPiA+ICsJc3RydWN0IGFybV9z bW11X2NkIHRhcmdldF9jZDsKPiA+ICsJdW5zaWduZWQgbG9uZyBmbGFnczsKPiA+ICsKPiA+ICsJ c3Bpbl9sb2NrX2lycXNhdmUoJnNtbXVfZG9tYWluLT5kZXZpY2VzX2xvY2ssIGZsYWdzKTsKPiA+ ICsJbGlzdF9mb3JfZWFjaF9lbnRyeShtYXN0ZXIsICZzbW11X2RvbWFpbi0+ZGV2aWNlcywgZG9t YWluX2hlYWQpIHsKPiA+ICsJCXN0cnVjdCBhcm1fc21tdV9jZCAqY2RwdHI7Cj4gPiArCj4gPiAr CQkvKiBTMSBkb21haW5zIG9ubHkgc3VwcG9ydCBSSUQgYXR0YWNobWVudCByaWdodCBub3cgKi8K PiA+ICsJCWNkcHRyID0gYXJtX3NtbXVfZ2V0X2NkX3B0cihtYXN0ZXIsIElPTU1VX05PX1BBU0lE KTsKPiA+ICsJCWlmIChXQVJOX09OKCFjZHB0cikpCj4gPiArCQkJY29udGludWU7Cj4gPiArCj4g PiArCQlhcm1fc21tdV9tYWtlX3MxX2NkKCZ0YXJnZXRfY2QsIG1hc3Rlciwgc21tdV9kb21haW4p Owo+ID4gKwkJYXJtX3NtbXVfd3JpdGVfY2RfZW50cnkobWFzdGVyLCBJT01NVV9OT19QQVNJRCwg Y2RwdHIsCj4gPiArCQkJCQkmdGFyZ2V0X2NkKTsKPiAKPiBDYXNlIEFSTV9TTU1VX0RPTUFJTl9T MSBoYXMgdGhlIHNvbWUgY29kZToKPiAgIGFybV9zbW11X2dldF9jZF9wdGVyID0+IGFybV9zbW11 X21ha2VfczFfY2QgPT4gYXJtX3NtbXVfd3JpdGVfY2RfZW50cnkKPiBJ4oCZZCBwcmVmZXIgaWYg dGhhdCB3YXMgYWJzdHJhY3RlZCB3aXRoIHRoZSBTTU1VdjMgZHJpdmVyIGFuZCBpdCBwcm92aWRl cyBhIGhpZ2hlcgo+IGxldmVsIEFQSSByYXRoZXIgdGhhbiBleHBvc2luZyB0aGVzZSBsb3ctbGV2 ZWwgZnVuY3Rpb25zIGluIHRoZSBoZWFkZXIgZmlsZS4KPiBCdXQgbm8gc3Ryb25nIG9waW5pb24u CgpJdCBpcyBvbmx5IHNsaWdodGx5IHRoZSBzYW1lIG5vdywgYW5kIGl0IHdpbGwga2VlcCBnZXR0 aW5nIG1vcmUKZGlmZmVyZW50IGFzIHRoZSBwYXRjaGVzIHByb2dyZXNzLiBGb3IgaW5zdGFuY2Ug Ik1ha2UKYXJtX3NtbXVfYWxsb2NfY2RfcHRyKCkiIG1ha2VzIHRoZW0gY2FsbCBkaWZmZXJlbnQg YWxsb2MgZnVuY3Rpb25zLgoKTGF0ZXIgb24gdGhpcyBjb2RlIHdpbGwgaGFuZGxlIGEgU1NJRCB0 b28uCgpJIGRvbid0IHRoaW5rIG9mIHRob3NlIGZ1bmN0aW9ucyBhcyBhIGxvd2VyIGxldmVsIEFQ SSwgcHRyL21ha2Uvd3JpdGUKaXMgdGhlIEFQSSBkZXNpZ24uIFdlIGhhdmUgZGlmZmVyZW50IHZl cnNpb25zIG9mIGVhY2ggb2YgdGhvc2UKZnVuY3Rpb25zLiBUaGUgY2FsbCBzaXRlIG5lZWRzIHRv IHN0cmluZyB0b2dldGhlciB0aGUgcmlnaHQgc2VxdWVuY2UKb2YgdGhyZWUgb3BlcmF0aW9ucyBm b3IgaXRzIHNwZWNpZmljIGNvbnRleHQuCgpBdCB0aGUgZW5kIHRoaXMgaXMgYW4gYXRvbWljIGNv bnRleHQgd29ya2luZyBvbiBTMSBkb21haW5zIHdpdGggU1NJRCAtCnRoZXJlIGlzbid0IGFub3Ro ZXIgY2FzZSBleGFjdGx5IGxpa2UgdGhpcy4KCj4gPiArdm9pZCBhcm1fc21tdV9tYWtlX3MxX2Nk KHN0cnVjdCBhcm1fc21tdV9jZCAqdGFyZ2V0LAo+ID4gKwkJCSBzdHJ1Y3QgYXJtX3NtbXVfbWFz dGVyICptYXN0ZXIsCj4gPiArCQkJIHN0cnVjdCBhcm1fc21tdV9kb21haW4gKnNtbXVfZG9tYWlu KQo+ID4gK3sKPiA+ICsJc3RydWN0IGFybV9zbW11X2N0eF9kZXNjICpjZCA9ICZzbW11X2RvbWFp bi0+Y2Q7Cj4gPiArCj4gPiArCW1lbXNldCh0YXJnZXQsIDAsIHNpemVvZigqdGFyZ2V0KSk7Cj4g PiArCj4gPiArCXRhcmdldC0+ZGF0YVswXSA9IGNwdV90b19sZTY0KAo+ID4gKwkJY2QtPnRjciB8 Cj4gPiArI2lmZGVmIF9fQklHX0VORElBTgo+ID4gKwkJQ1RYREVTQ19DRF8wX0VOREkgfAo+ID4g KyNlbmRpZgo+ID4gKwkJQ1RYREVTQ19DRF8wX1YgfAo+ID4gKwkJQ1RYREVTQ19DRF8wX0FBNjQg fAo+ID4gKwkJKG1hc3Rlci0+c3RhbGxfZW5hYmxlZCA/IENUWERFU0NfQ0RfMF9TIDogMCkgfAo+ ID4gKwkJQ1RYREVTQ19DRF8wX1IgfAo+ID4gKwkJQ1RYREVTQ19DRF8wX0EgfAo+ID4gKwkJQ1RY REVTQ19DRF8wX0FTRVQgfAo+ID4gKwkJRklFTERfUFJFUChDVFhERVNDX0NEXzBfQVNJRCwgY2Qt PmFzaWQpCj4gPiArCQkpOwo+ID4gKwo+ID4gKwl0YXJnZXQtPmRhdGFbMV0gPSBjcHVfdG9fbGU2 NChjZC0+dHRiciAmIENUWERFU0NfQ0RfMV9UVEIwX01BU0spOwo+ID4gKwl0YXJnZXQtPmRhdGFb M10gPSBjcHVfdG9fbGU2NChjZC0+bWFpcik7Cj4gPiArfQo+ID4gKwo+IAo+IElNTywgcGF0Y2hl cyB0byBoYW5kbGUgQ0QgPSBOVUxMIGFuZCBxdWlldCBDRCBzaG91bGQgYmUgaW50cm9kdWNlZCBm aXJzdCBzbyBpdCBpcwo+IGVhc2llciB0byBmb2xsb3cgYXMgbm93IHRoZXJlIGlzIGR1cGxpY2F0 ZSBjb2RlIGluIGFybV9zbW11X3dyaXRlX2N0eF9kZXNjKCkgd2hpY2gKPiBpcyBkZWFkIGFuZCBt YWtlcyBpdCBhIGxpdHRsZSBoYXJkZXIgdG8gcmV2aWV3LCBidXQgaWYgcmVvcmRlcmVkLAo+IGFy bV9zbW11X3dyaXRlX2N0eF9kZXNjKCkgY2FuIGJlIHJlbW92ZWQgaW4gdGhpcyBwYXRjaCBzbyB3 ZSBjYW4gc2VlIGhvdyBjb2RlIG1vdmVkLgoKYXJtX3NtbXVfd3JpdGVfY3R4X2Rlc2MoKSBjYW4n dCBiZSByZW1vdmVkIHVudGlsIGFsbCBvZiBTMSwgY2xlYXIsIFNWQQphbmQgcXVpZXRfY2QgYXJl IGNvbnZlcnRlZC4gTm8gbWF0dGVyIHdoYXQgb3JkZXIgeW91IHBpY2sgdGhlcmUgd2lsbApiZSBz b21lIHdlaXJkbmVzcy4KClRoZSBkdXBsaWNhdGUgY29kZSAiKDEpIGFuZCAoMikiIGlzIGFsc28g c3RpbGwgYmVpbmcgdXNlZCBmb3IgdGhlIFNWQQpkb21haW5zLCBpdCBpcyBub3QgdW51c2VkIHVu dGlsIHBhdGNoICJNb3ZlIHRoZSBDRCBnZW5lcmF0aW9uIGZvciBTVkEKaW50byBhIGZ1bmN0aW9u Ii4KClRoZSBvbmx5IGRlYWQgY29kZSBoZXJlIGlzIHRoZSBBU0lEIGNoYW5nZS4gU28gSSdsbCBi cnVuZyB0aGlzIGh1bmsgZm9yd2FyZDoKCi0tLSBhL2RyaXZlcnMvaW9tbXUvYXJtL2FybS1zbW11 LXYzL2FybS1zbW11LXYzLmMKKysrIGIvZHJpdmVycy9pb21tdS9hcm0vYXJtLXNtbXUtdjMvYXJt LXNtbXUtdjMuYwpAQCAtMTMyOCwxNCArMTMyOCwxMSBAQCBpbnQgYXJtX3NtbXVfd3JpdGVfY3R4 X2Rlc2Moc3RydWN0IGFybV9zbW11X21hc3RlciAqbWFzdGVyLCBpbnQgc3NpZCwKICAgICAgICAg KgogICAgICAgICAqICgxKSBJbnN0YWxsIHByaW1hcnkgQ0QsIGZvciBub3JtYWwgRE1BIHRyYWZm aWMgKFNTSUQgPSBJT01NVV9OT19QQVNJRCA9IDApLgogICAgICAgICAqICgyKSBJbnN0YWxsIGEg c2Vjb25kYXJ5IENELCBmb3IgU0lEK1NTSUQgdHJhZmZpYy4KLSAgICAgICAgKiAoMykgVXBkYXRl IEFTSUQgb2YgYSBDRC4gQXRvbWljYWxseSB3cml0ZSB0aGUgZmlyc3QgNjQgYml0cyBvZiB0aGUK LSAgICAgICAgKiAgICAgQ0QsIHRoZW4gaW52YWxpZGF0ZSB0aGUgb2xkIGVudHJ5IGFuZCBtYXBw aW5ncy4KICAgICAgICAgKiAoNCkgUXVpZXNjZSB0aGUgY29udGV4dCB3aXRob3V0IGNsZWFyaW5n IHRoZSB2YWxpZCBiaXQuIERpc2FibGUKICAgICAgICAgKiAgICAgdHJhbnNsYXRpb24sIGFuZCBp Z25vcmUgYW55IHRyYW5zbGF0aW9uIGZhdWx0LgogICAgICAgICAqICg1KSBSZW1vdmUgYSBzZWNv bmRhcnkgQ0QuCiAgICAgICAgICovCiAgICAgICAgdTY0IHZhbDsKLSAgICAgICBib29sIGNkX2xp dmU7CiAgICAgICAgc3RydWN0IGFybV9zbW11X2NkIHRhcmdldDsKICAgICAgICBzdHJ1Y3QgYXJt X3NtbXVfY2QgKmNkcHRyID0gJnRhcmdldDsKICAgICAgICBzdHJ1Y3QgYXJtX3NtbXVfY2QgKmNk X3RhYmxlX2VudHJ5OwpAQCAtMTM1MSw3ICsxMzQ4LDYgQEAgaW50IGFybV9zbW11X3dyaXRlX2N0 eF9kZXNjKHN0cnVjdCBhcm1fc21tdV9tYXN0ZXIgKm1hc3RlciwgaW50IHNzaWQsCiAKICAgICAg ICB0YXJnZXQgPSAqY2RfdGFibGVfZW50cnk7CiAgICAgICAgdmFsID0gbGU2NF90b19jcHUoY2Rw dHItPmRhdGFbMF0pOwotICAgICAgIGNkX2xpdmUgPSAhISh2YWwgJiBDVFhERVNDX0NEXzBfVik7 CiAKICAgICAgICBpZiAoIWNkKSB7IC8qICg1KSAqLwogICAgICAgICAgICAgICAgdmFsID0gMDsK QEAgLTEzNTksMTMgKzEzNTUsNiBAQCBpbnQgYXJtX3NtbXVfd3JpdGVfY3R4X2Rlc2Moc3RydWN0 IGFybV9zbW11X21hc3RlciAqbWFzdGVyLCBpbnQgc3NpZCwKICAgICAgICAgICAgICAgIGlmICgh KHNtbXUtPmZlYXR1cmVzICYgQVJNX1NNTVVfRkVBVF9TVEFMTF9GT1JDRSkpCiAgICAgICAgICAg ICAgICAgICAgICAgIHZhbCAmPSB+KENUWERFU0NfQ0RfMF9TIHwgQ1RYREVTQ19DRF8wX1IpOwog ICAgICAgICAgICAgICAgdmFsIHw9IENUWERFU0NfQ0RfMF9UQ1JfRVBEMDsKLSAgICAgICB9IGVs c2UgaWYgKGNkX2xpdmUpIHsgLyogKDMpICovCi0gICAgICAgICAgICAgICB2YWwgJj0gfkNUWERF U0NfQ0RfMF9BU0lEOwotICAgICAgICAgICAgICAgdmFsIHw9IEZJRUxEX1BSRVAoQ1RYREVTQ19D RF8wX0FTSUQsIGNkLT5hc2lkKTsKLSAgICAgICAgICAgICAgIC8qCi0gICAgICAgICAgICAgICAg KiBVbnRpbCBDRCtUTEIgaW52YWxpZGF0aW9uLCBib3RoIEFTSURzIG1heSBiZSB1c2VkIGZvciB0 YWdnaW5nCi0gICAgICAgICAgICAgICAgKiB0aGlzIHN1YnN0cmVhbSdzIHRyYWZmaWMKLSAgICAg ICAgICAgICAgICAqLwogICAgICAgIH0gZWxzZSB7IC8qICgxKSBhbmQgKDIpICovCiAgICAgICAg ICAgICAgICBjZHB0ci0+ZGF0YVsxXSA9IGNwdV90b19sZTY0KGNkLT50dGJyICYgQ1RYREVTQ19D RF8xX1RUQjBfTUFTSyk7CiAgICAgICAgICAgICAgICBjZHB0ci0+ZGF0YVsyXSA9IDA7Cgo+IE90 aGVyd2lzZToKPiBSZXZpZXdlZC1ieTogTW9zdGFmYSBTYWxlaCA8c21vc3RhZmFAZ29vZ2xlLmNv bT4KClRoYW5rcywKSmFzb24KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxA bGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK