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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 206E4C4321E for ; Fri, 25 Nov 2022 01:44:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ACFDA6B0072; Thu, 24 Nov 2022 20:44:21 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A800A6B0073; Thu, 24 Nov 2022 20:44:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 920C86B0074; Thu, 24 Nov 2022 20:44:21 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 7FC226B0072 for ; Thu, 24 Nov 2022 20:44:21 -0500 (EST) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 4E230804BF for ; Fri, 25 Nov 2022 01:44:21 +0000 (UTC) X-FDA: 80170269522.03.B298282 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by imf26.hostedemail.com (Postfix) with ESMTP id 85462140005 for ; Fri, 25 Nov 2022 01:44:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1669340658; x=1700876658; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=mPrIF2H4X14Uk3y0r9ce1CTn5Pio7ekW+Y/8G4afijI=; b=lVhAgviy1K7jqoZRtgKdesi5xUgkpPe4+8ZsMOB15mcV1aVRETonZLv7 L2P1DVuubMwnTahjSdMeJqizTvGx2qax+ELc5snRu44V+ZO6LnIkLsld9 Nkc3UpPYoAaCedxMzVnz7oAniGk7VWImBodgUEEgzo5jua0EILl6rfLyr mhgMA+BqABqfczIusAFaWWkiXG+C2UUcSU6S04KjhmwQ540tgehr6AZ0C LZMeHw4vYwnqYB39NpO3Z9AXKUq4R4RjIR/xr6ZACsCVgPsE1JUGQm3fN gFM3sLtYRlvaK2nqnJWQ3igXZMxvwf7rSia+rqJ/d8j/I+UvC0tdO8soc Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10541"; a="400682216" X-IronPort-AV: E=Sophos;i="5.96,191,1665471600"; d="scan'208";a="400682216" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2022 17:44:17 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10541"; a="673396351" X-IronPort-AV: E=Sophos;i="5.96,191,1665471600"; d="scan'208";a="673396351" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga008.jf.intel.com with ESMTP; 24 Nov 2022 17:44:16 -0800 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Thu, 24 Nov 2022 17:44:16 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Thu, 24 Nov 2022 17:44:15 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Thu, 24 Nov 2022 17:44:15 -0800 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (104.47.74.46) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Thu, 24 Nov 2022 17:44:15 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FoADqJTZuDvV9cldnxAVduR5M2VG+d/i82D+v2xkAQ0sQXRCPBCsUjGeBaCUorCEKhFkoEZE9bR8fQV4xHJ6iim9nM586L9nCXlg6o7t2KJgUCdmXV4zcYFOYPEgSOWUwZUwYl32vp9m3zjvPAD3jR9ClBQbMDjai7G/9GorBbo9nt+JWlM+fiLaeO1FrVoGL9QbA7K7YLk3lyTQQGt/t7VaDkWxIkpSUE2+nMRSj3225Zw3fgFuLNOmhGNyFH6xGaPDCGKXUtKveMmeh2htYruZdEWLsxCIfl4suMI+bHSre15ziDeno/nEMHF6krftzgR6fvYFveWvXYUDI7j/BQ== 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=mPrIF2H4X14Uk3y0r9ce1CTn5Pio7ekW+Y/8G4afijI=; b=dGBKI2MWDj7a4+eBSWlrtR8Klnl7mFTHSqtApnS7r5INJ/HZ+Q627OW8XXY5w1V7NwDHjOwDxRaIWe9iC9ysPTQJY7qy9zWuyWCVd2cbc2vcxS/1E7O2b4gKukrv8uLu/OO+KZR/wv1P1EISKsVN/lQYxg/ln8GQMITr6iCRKAaPyTZ6ums1rurKJUqdeuhhAWZfuGq2o12Wewa64Skri/vbkNHUchcj67bOGpQUZE56a+T/WAATtTmC8zPayFlw1FWJvVjIzm4SLSQqtK7yhk4I6LKlZvyvR9FN/RSIPeNWxRrwpNgBQO+ix9Xdl7vDmAjwj78I5BKHX/0ZX4wzHw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from BL1PR11MB5978.namprd11.prod.outlook.com (2603:10b6:208:385::18) by SJ0PR11MB6695.namprd11.prod.outlook.com (2603:10b6:a03:44e::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.19; Fri, 25 Nov 2022 01:44:12 +0000 Received: from BL1PR11MB5978.namprd11.prod.outlook.com ([fe80::2fb7:be18:a20d:9b6e]) by BL1PR11MB5978.namprd11.prod.outlook.com ([fe80::2fb7:be18:a20d:9b6e%8]) with mapi id 15.20.5834.015; Fri, 25 Nov 2022 01:44:12 +0000 From: "Huang, Kai" To: "kvm@vger.kernel.org" , "Hansen, Dave" , "linux-kernel@vger.kernel.org" CC: "Luck, Tony" , "bagasdotme@gmail.com" , "ak@linux.intel.com" , "Wysocki, Rafael J" , "kirill.shutemov@linux.intel.com" , "Christopherson,, Sean" , "Chatre, Reinette" , "pbonzini@redhat.com" , "linux-mm@kvack.org" , "Yamahata, Isaku" , "Shahar, Sagi" , "imammedo@redhat.com" , "Gao, Chao" , "Brown, Len" , "peterz@infradead.org" , "sathyanarayanan.kuppuswamy@linux.intel.com" , "Huang, Ying" , "Williams, Dan J" Subject: Re: [PATCH v7 16/20] x86/virt/tdx: Configure TDX module with TDMRs and global KeyID Thread-Topic: [PATCH v7 16/20] x86/virt/tdx: Configure TDX module with TDMRs and global KeyID Thread-Index: AQHY/T3K4h1rHLbigk+AO0UKIyHeB65NNAoAgAGjyQCAAAVCgIAAB0SA Date: Fri, 25 Nov 2022 01:44:12 +0000 Message-ID: References: <344234642a5eb9dc1aa34410f641f596ec428ea5.1668988357.git.kai.huang@intel.com> <301184ce-05e5-871c-7a6c-4298a0cbd1ae@intel.com> <89a746cc-8f60-8472-0d0b-71a459e2dd64@intel.com> In-Reply-To: <89a746cc-8f60-8472-0d0b-71a459e2dd64@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.44.4 (3.44.4-2.fc36) x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BL1PR11MB5978:EE_|SJ0PR11MB6695:EE_ x-ms-office365-filtering-correlation-id: 7ef13353-e0b3-4169-5ab2-08dace868d88 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: zMj9EWtabqUEaY8x4xfm4UntGfgxjLXo7LZnYBZn3Xpmhb5PcIj4YfKEj3lxWEYSRFHsDrVZK3XTZKVJtehHbs6NxU454o9x1PmstWNuzwIQzZriwHnJoZ1Nb/DlZdXzQI5x37w62usRbYZtZ+Il9Iastt2pk1ioc2end2tEUEGrQJXKtFGsoKhKfoh4M+CFxKl9BgsnvSUX5fJrT/KBY+qzxE2JLakht0KyVC0DpYQBlFIJgckzAhj+FXdUu6Axq0ddVoKt314RH/R0zzaVD4a+jmqtRUMUhB/bYDulAbBTesPxC5uN0tG/4Nwqe1Ns6RSJ0Vr2idIkPxhOONszeXkUJNolp8tw0ipo9ehlAFuTdhXErGXc7l6id1Hj1l4xbdrheQ7BqPJESR2i3/8aND1M/Flm99LgFzEUrGe/twaU7Jkx4fIUH3VCDJvZuUcSd41JApswV3GNhbkGMgiqQF7ZEwKH15ffCPv7RBxSDRkCYGgo2PZeug08GlkjxoYNBXEca3Y3oHu6XPrw+IU6ujdMgiXHu9zNwLg3CuJ8qhQMy+Pd6lCE6T2wvM23F7+/yFv3L3XGdg94J5eRZSDxlIm8j0bf5pz4NWJ6ZiVMj0r3daxrjpUO6zPz5uL8XP4xNeH1mMF2owwrEwGNRrv3FWkRM/JVEhgAZ0GX4mhjvxUqPxZJqz2XdmY4R64swr8ojEVONbqpodHeLol08/NfnQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR11MB5978.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(346002)(396003)(39860400002)(366004)(451199015)(83380400001)(38070700005)(86362001)(110136005)(6506007)(6486002)(71200400001)(54906003)(36756003)(82960400001)(122000001)(2616005)(186003)(66476007)(5660300002)(64756008)(76116006)(66446008)(53546011)(478600001)(6512007)(26005)(8676002)(66556008)(316002)(91956017)(7416002)(2906002)(41300700001)(4326008)(8936002)(66946007)(4001150100001)(38100700002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?d1U1U2lxdlhISTZpTWM3am9lamxWakRDdmgzeFJsYW5QbTBkcTMxb3BwNjEw?= =?utf-8?B?ejl3Z0VPdm5tYVFvYi9YNjY2VWdqV3BtaVpaeTJ2c0s1MVliWDE4UTd1VHBX?= =?utf-8?B?OUZNNVJiWUlzNGQ2elEvanRPNUM1R1p5b2JjWTVaN0RoaStkWW5pOVdLWU82?= =?utf-8?B?MHV6N1MzbC9ManFrYnc5TjVpMXpXUmJ5NkpidEdQU3IxZHpyYzNncEtvd3hv?= =?utf-8?B?L3E4QUVtakdHbFBkRnpqSVdhYjZNekZzbFIwUVdpK1Zab0c3cHBxYUNpTml0?= =?utf-8?B?cGdYSHg2MXRKakwxOS83NjdYQUsweU9Ld2k3TlhtbVBBNUJMRTJFM2s4ckMr?= =?utf-8?B?SVhHU1hGVldWeXJqaXZBVmRwam5ZbTFDeU1QeHljZWlMZEFpaWphNk8rbU9X?= =?utf-8?B?ZUUwcThZd1dIR3NzK0d5NWZDS01ONTJlcXBlUG41dXNabktOU05KTDlzM3VB?= =?utf-8?B?MTJTVDh6SEFOdlZrRzk0LzY2dGdOT1lDT3h5bWYzS2d0dHF6dGxHT3d4S3hn?= =?utf-8?B?VUErWXpOdVlXYWNDeVFPK25aWnpLVWR2OTN6Y1BaNC9Kc0kydU5ZaTBvb1la?= =?utf-8?B?SlMrL3RiVkdWWmpvRTd3RXhRdHM2a24rY2JoeEk1OE9jMVEwbzJnUTN6bEdK?= =?utf-8?B?RmZGOTM2OHgwWHVZS0ZKWTZldWwwZFZnOWtIZXIwcFFiVTJVKzhmYW82dFFh?= =?utf-8?B?a3pkOEEvc3NhdmE3ZUE3Ynd0RlRQRXlMcGI0eExVNUpPb3V6aStObU41MjV1?= =?utf-8?B?TUM0ZVVzTXBVSGEzTmlPOThYemRsYlZGZnhDN2J2SE9SQ2xPUEVhZlJPRVpK?= =?utf-8?B?QUhVRjVOVFNuOHhFY3JmeTJvSmxoTGN0OUROeDdSaFl6aDlvQnp2dDFmMG5C?= =?utf-8?B?dWdRL3NsTEd2cXI4UWhvOU56R1Mxc3dtWkYrQ1JIRVJveXBZYXZjSDk0NjJo?= =?utf-8?B?eEJjNTNaTWl3amE0dFJaNVVNTi9OejkwSFQ1NnRxSFl3MWZzeEJaRGRHbnkx?= =?utf-8?B?Q25TU2g1bVdXbjZzRDEvQk9abjBHVlMxN0x2dUh5WUJPVUZYVWhzcTR1UmpK?= =?utf-8?B?SVBWM09Tcm5Xdk42ejBJRVZHanE1Skp5RU90SHdFbWlsd2x6SXBJSFZvR3B1?= =?utf-8?B?RjVSSTZ4MkVpeVBaUmN3UjBUR1dSV3ZybjMzN2MrbnJ6Y0w5bExGa29ud3Jx?= =?utf-8?B?SDJLSjdESDdOaGpVNXZhdzhldmNzQWRyQXdGYXFrZEk0dTZqcVF6SzFDeWk2?= =?utf-8?B?elhuVWIzcE83UnhadXJPQnZ3bGFlOUZ4OVRzVlA2Nkd6Vm84TUJCRjdxdC9X?= =?utf-8?B?clFMZXJvTlRxK2RWVGRCNzRqTi9VaGQzYzhaMjZxY3lZNnFwTnhIZXQvNElG?= =?utf-8?B?Zm5xamVzaVczdnhML3lhdlRmOXpCcFd3eVFxREFidzJSRUszYjFXZnZ6a2Rn?= =?utf-8?B?c05yS3Rqb3RXejdZU3dJTGlWMFNuVmUrNFBHK2tjQU9qYW9rYTdSNkhhS0Fu?= =?utf-8?B?cmE4ZXdWNFcyS3ZBUkRxQmkrcDN3Rk9JaXAvR2lKRzg0VFVHa1htVTRDZUM5?= =?utf-8?B?VHUxeStNeS93ZjdnMTlMbDhRNm1nYVg1QzZlRnplczREWTVRR0hXL3hDZkhK?= =?utf-8?B?L2o0RE1MN2NPQjBpUDdQTnlVa3laM3FnSmxmanIzYjVFcWlITGh4S0FjZWdP?= =?utf-8?B?bXB4TzFPTjlaUGFPcXNxWmd1MEpEc0NqUTM4ZGJPUHVQdmxzckZjL3k1ODky?= =?utf-8?B?dmJ1NnczcHNSUE5rNWxyWVg4Ti80NitFc1JJZ1dZN0VUaXdIRmdaME1KeGxr?= =?utf-8?B?eS9NdzV6NVFpc3gzRVNVczJBNmMrMG12b0h0SzNka0Y1QkFSOTIxd3hacDJz?= =?utf-8?B?Zlo2a043SDQwOVlGNG4xQ1lVWVRrVFBLQ3FGOUY0WEdxZTdBQU1OTGZsSWtF?= =?utf-8?B?TFFMalNMdEpaVWREYW9JMHYwZDRvZEpySnNack5DQXdjS0d0TlZVeWt5c3Rp?= =?utf-8?B?WUQweE1TdU1XS1AveExaQm1BOUJrYzNVS0ZjekkzWHJTUnlFMkhCaC9PdmxZ?= =?utf-8?B?cmc4bFB2Z2FLK01CNzloUGhYdklYckdKcWwzajJSVW1vWHhGOHFDdTRLNVhs?= =?utf-8?B?U2pqUUx2YU5vOWY4VThWR29CbTllenYrakI5WWYxN3FLVkdMM2xxbmJ1dnoz?= =?utf-8?B?MEE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BL1PR11MB5978.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7ef13353-e0b3-4169-5ab2-08dace868d88 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Nov 2022 01:44:12.1653 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: VATwNc6E+li9TwXlKSkFRlSzRfnPVweRrunEu6IEfFQ18EmmS2yRMDRjIl/hs0rZEk5hutlYBIJN1WXjVLnt2A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB6695 X-OriginatorOrg: intel.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1669340660; a=rsa-sha256; cv=pass; b=DPjriHRAmHHsgMHTYVcLBg1dbt1gZOxDpTMg8Gi55RybLJlaqJlJ6vRVgvM7u1SrVjDRbp Mcx1RkJaeUVCxK4fam4FvFkTTtahPAV4M9rO6/jNKfSES9+OjL9DC44TqjlUxwVd0V9wEb fYqEq+nt7+WVQvVwkC5lrsm261ZVZ5Q= ARC-Authentication-Results: i=2; imf26.hostedemail.com; dkim=none ("invalid DKIM record") header.d=intel.com header.s=Intel header.b=lVhAgviy; spf=pass (imf26.hostedemail.com: domain of kai.huang@intel.com designates 192.55.52.43 as permitted sender) smtp.mailfrom=kai.huang@intel.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1669340660; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=mPrIF2H4X14Uk3y0r9ce1CTn5Pio7ekW+Y/8G4afijI=; b=Fxbb8FMrsNHGeqnTk1zsqzNLdyS+PszaclsNyCCTjh/MGgB4tK76qQMLrbDGNSpDIHuwDi m0SIuACUMZxc0tf0sfJaJNgC5+5FnquNWJmYKo3MUuYY0zb7fSwInNs+EZD2v9a2oJFmSx wDyEVOc8kSvQeehKBmi9FQg67XBDhjc= X-Rspamd-Queue-Id: 85462140005 X-Rspam-User: Authentication-Results: imf26.hostedemail.com; dkim=none ("invalid DKIM record") header.d=intel.com header.s=Intel header.b=lVhAgviy; spf=pass (imf26.hostedemail.com: domain of kai.huang@intel.com designates 192.55.52.43 as permitted sender) smtp.mailfrom=kai.huang@intel.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=intel.com X-Rspamd-Server: rspam07 X-Stat-Signature: hsagu145tmtj6f8csfgechg6inpkseth X-HE-Tag: 1669340658-902261 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: T24gVGh1LCAyMDIyLTExLTI0IGF0IDE3OjE4IC0wODAwLCBEYXZlIEhhbnNlbiB3cm90ZToNCj4g T24gMTEvMjQvMjIgMTY6NTksIEh1YW5nLCBLYWkgd3JvdGU6DQo+ID4gT24gV2VkLCAyMDIyLTEx LTIzIGF0IDE1OjU2IC0wODAwLCBEYXZlIEhhbnNlbiB3cm90ZToNCj4gPiA+IE9uIDExLzIwLzIy IDE2OjI2LCBLYWkgSHVhbmcgd3JvdGU6DQo+ID4gPiA+ICsgICBhcnJheV9zeiA9IEFMSUdOKHRk bXJfbnVtICogc2l6ZW9mKHU2NCksIFRETVJfSU5GT19QQV9BUlJBWV9BTElHTk1FTlQpOw0KPiA+ ID4gPiArICAgdGRtcl9wYV9hcnJheSA9IGt6YWxsb2MoYXJyYXlfc3osIEdGUF9LRVJORUwpOw0K PiA+ID4gDQo+ID4gPiBKdXN0IHRvIGJlIGNsZWFyLCBhbGwgdGhhdCBjaGF0dGVyIGFib3V0IGFs aWdubWVudCBpcyBiZWNhdXNlIHRoZQ0KPiA+ID4gKlNUQVJUKiBvZiB0aGUgYXJyYXkgaGFzIHRv IGJlIGFsaWduZWQuICBSaWdodD8NCj4gPiANCj4gPiBDb3JyZWN0Lg0KPiA+IA0KPiA+ID4gSSBz ZWUgYWxpZ25tZW50IGZvcg0KPiA+ID4gJ2FycmF5X3N6JywgYnV0IHRoYXQncyBub3QgdGhlIHN0 YXJ0IG9mIHRoZSBhcnJheS4NCj4gPiA+IA0KPiA+ID4gdGRtcl9wYV9hcnJheSBpcyB0aGUgc3Rh cnQgb2YgdGhlIGFycmF5LiAgV2hlcmUgaXMgKlRIQVQqIGFsaWduZWQ/DQo+ID4gDQo+ID4gVGhl IGFsaWdubWVudCBpcyBhc3N1bWVkIHRvIGJlIGd1YXJhbnRlZWQgYmFzZWQgb24gdGhlIERvY3Vt ZW50YXRpb24geW91IHF1b3RlZA0KPiA+IGJlbG93Lg0KPiANCj4gSSdtIGZlZWxpbmcga2luZGEg ZGVuc2UgdG9kYXksIGJlaW5nIFRoYW5rc2dpdmluZyBhbmQgYWxsLiAgQ291bGQgeW91DQo+IHBs ZWFzZSB3YWxrIG1lIHRocm91Z2gsIHN0ZXAtYnktc3RlcCBob3cgeW91IGdldCBremFsbG9jKCkg dG8gZ2l2ZSB5b3UNCj4gYW4gYWxsb2NhdGlvbiB3aGVyZSB0aGUgc3RhcnQgYWRkcmVzcyBpcyA1 MTItYnl0ZSBhbGlnbmVkPw0KDQpTb3JyeSBJIGFtIG5vdCBnb29kIGF0IG1hdGguICBJIGZvcmdv dCBhbHRob3VnaCA1MTIgaXMgcG93ZXIgb2YgdHdvLCBuIHggNTEyIG1heQ0Kbm90IGJlIHBvd2Vy IG9mIHR3by4NCg0KVGhlIGNvZGUgd29ya3MgYmVjYXVzZSBpbiBwcmFjdGljZSB0ZG1yX251bSBp cyBuZXZlciBsYXJnZXIgdGhhbiA2NCBzbyB0ZG1yX251bQ0KKiBzaXplb2YoNjQpIGNhbm5vdCBi ZSBsYXJnZXIgdGhhbiA1MTIuDQoNClNvIGlmIHdhbnQgdG8gY29uc2lkZXIgYXJyYXkgc2l6ZSBi ZWluZyBsYXJnZXIgdGhhbiA0Sywgd2Ugc2hvdWxkIHVzZQ0KYWxsb2NfcGFnZXNfZXhhY3QoKSB0 byBhbGxvY2F0ZT8NCg0KPiANCj4gLi4uDQo+ID4gUGVyaGFwcyBJIHNob3VsZCBqdXN0IGFsbG9j YXRlIG9uZSBwYWdlIHNvIGl0IG11c3QgYmUgNTEyLWJ5dGUgYWxpZ25lZD8NCj4gPiANCj4gPiAg ICAgICAgIC8qDQo+ID4gICAgICAgICAgKiBURE1SX0lORk8gZW50cmllcyBhcmUgY29uZmlndXJl ZCB0byB0aGUgVERYIG1vZHVsZSAgdmlhIGFuIGFycmF5DQo+ID4gICAgICAgICAgKiBvZiBwaHlz aWNhbCBhZGRyZXNzIG9mIGVhY2ggVERNUl9JTkZPLiAgVGhlIFREWCBtb2R1bGUgcmVxdWlyZXMN Cj4gPiAgICAgICAgICAqIHRoZSBhcnJheSBpdHNlbGYgdG8gYmUgNTEyLWJ5dGUgYWxpZ25lZC4g IEp1c3QgYWxsb2NhdGUgYSBwYWdlDQo+ID4gICAgICAgICAgKiB0byB1c2UgaXQgYXMgdGhlIGFy cmF5IHNvIHRoZSBhbGlnbm1lbnQgY2FuIGJlIGd1YXJhbnRlZWQuICBUaGUNCj4gPiAgICAgICAg ICAqIHBhZ2Ugd2lsbCBiZSBmcmVlZCBhZnRlciBUREguU1lTLkNPTkZJRyBhbnl3YXkuDQo+ID4g ICAgICAgICAgKi8NCj4gDQo+IEthaSwgSSBqdXN0IHBsYWluIGNhbid0IGJlbGlldmUgYXQgdGhp cyBwb2ludCB0aGF0IGNvbW1lbnRzIGxpa2UgdGhpcw0KPiBhcmUgc3RpbGwgYmVpbmcgd3JpdHRl bi4gIEkgX3Rob3VnaHRfIEkgd2FzIHZlcnkgY2xlYXIgYmVmb3JlIHRoYXQgaWYNCj4geW91IGhh dmUgYSBjb25zdGFudCwgc2F5Og0KPiANCj4gI2RlZmluZSBGT09fQUxJR04gNTEyDQo+IA0KPiBh bmQgeW91IHdhbnQgdG8gYWxpZ24gZm9vLCB5b3UgY2FuIGp1c3QgZG86DQo+IA0KPiAJZm9vID0g QUxJR04oZm9vLCBGT09fQUxJR04pOw0KPiANCj4gWW91IGRvbid0IG5lZWQgdG8gbWVudGlvbiB0 aGUgNTEyLWJ5dGUgYWxpZ25tZW50IGFnYWluLiAgVGhlICNkZWZpbmUgaXMNCj4gZ29vZCBlbm91 Z2guDQo+IA0KPiANCg0KTXkgZmF1bHQuICBJIHRob3VnaHQgYnkgY2hhbmdpbmcgdG8gYWxsb2Nh dGUgYSBwYWdlIHdlIGRvbid0IG5lZWQgdG8gZG8gJ2ZvbyA9DQpBTElHTihmb28sIEZPT19BTElH TiknIHNvIEkgdGhvdWdodCB0aGUgY29tbWVudCBjb3VsZCBiZSB1c2VmdWwuDQoNClRoYW5rcyBm b3IgcmVzcG9uZGluZyBhdCBUaGFua3NnaXZpbmcgZGF5Lg0KDQo=