From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail.toke.dk; spf=pass (mailfrom) smtp.mailfrom=intel.com (client-ip=134.134.136.126; helo=mga18.intel.com; envelope-from=anatoly.burakov@intel.com; receiver=) Authentication-Results: mail.toke.dk; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=ImlWRLcc Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mail.toke.dk (Postfix) with ESMTPS id 01AE59A7E74 for ; Wed, 5 Oct 2022 15:14:55 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1664975698; x=1696511698; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=eF99shaiSys6aA6t7fEnrdMrZdMZXqQmhWlfL+qzuAQ=; b=ImlWRLccuAuHD0/QfxxnUphlrpmbhH7IxdD4js/ORSD6CfOKxsp1bXOX G+ZafPywHxU1SFic7fdFisjWfV3Kfq2DJK0oqy9nPTs81k/UMLkqvPlFi yTiK/3Jh6fvBbPux5NVwpG2S7Pirp1l6MwxU3mlCIraconh2VvylLNEMK 9lLCVqPQpkY9aZkkMc2ZlrNyFI/IhLAT8rzR62UmJOfpb6m0gMl+9ncAf kUVHRG5uV5wl5Y+/TmgFE4+oIjNVANYJ4HD4pwjoZzzZojScru+IxbkxU AnTN/L4Ou5pHhHSPIHDF4Fh07AXNYShwZ+ucYt9AqVSeG7ZjFfWVXvu9W Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10490"; a="286365630" X-IronPort-AV: E=Sophos;i="5.95,159,1661842800"; d="scan'208";a="286365630" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Oct 2022 06:14:51 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10490"; a="766720434" X-IronPort-AV: E=Sophos;i="5.95,159,1661842800"; d="scan'208";a="766720434" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga001.fm.intel.com with ESMTP; 05 Oct 2022 06:14:51 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 5 Oct 2022 06:14:50 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 5 Oct 2022 06:14:50 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Wed, 5 Oct 2022 06:14:50 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.172) 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; Wed, 5 Oct 2022 06:14:49 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SIsqH7uQtdznfuMn34diJv6nRmud1u/5B0rcCV4wK8Jc813Yky08yaSyh/jTmvBAVyhIyapCvQCcU6SiwE4Y2Ku15RpErInhvR1dx55PpopDjbfHtRE4rr7/X6e2jkD3UN4G8Fe0bJGNFLtDsuIgrQysIKAKzCjWxicUGFSpGXZWZNa6uvFOG/t7aKPQ+FUaikbTrO2kCWDFx1HaB8HTigTLVUWarYXcOie0iHEAa8TTB4Yd6ndmxfiWB66R1itBLQIHYOcJYwUTnF/kiNjeDjj7vmFcQBgz7S9K5WC8jUVi7ZaaFvkUuGcGfzc76VahL50Vc2ZbdGuO1BX91gL7tg== 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=RuSYtOnyjcbEziIY/slmtKuwjGKdjDndhKApv2diWD0=; b=FOCpN4S3a1bA4ZO4G6CYMkdXzIGPcC0295PWsdDRZNZLBFKz293oM2CFqmXRmsiVseO4NcEjD6ycO/PwYEekyrzOLA1sJ/SWcfz8Rpf6prCJSiUKDJhcM1HVxZRGDV3c1UqNmB3bA80b6+WkvCt+6ejnO6itYNV0tPXPRBFf/HGR58TZ9Mv6ENGYakG5yewf7f2gPvlxcydgQl8WS5z/2Io9gXEy95BtiNL9gXJcJGH03S4xVaftHZ6mLyav2sqGZEy6/nWzPfMWpAt56ZrlGujkw7TYctwfDH3GsZaKp0lA+extMZ5Ke7niwt01+7MI534YPqrPrHhPWvyyaoHZgg== 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 Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from BN6PR11MB1251.namprd11.prod.outlook.com (2603:10b6:404:48::10) by PH0PR11MB5628.namprd11.prod.outlook.com (2603:10b6:510:d4::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.15; Wed, 5 Oct 2022 13:14:41 +0000 Received: from BN6PR11MB1251.namprd11.prod.outlook.com ([fe80::fdae:254d:47c8:69b6]) by BN6PR11MB1251.namprd11.prod.outlook.com ([fe80::fdae:254d:47c8:69b6%4]) with mapi id 15.20.5676.032; Wed, 5 Oct 2022 13:14:41 +0000 Message-ID: <915e8a6f-c540-a44c-035f-331467fa53c9@intel.com> Date: Wed, 5 Oct 2022 14:14:35 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0 Thunderbird/102.3.0 Content-Language: en-US To: Jesper Dangaard Brouer , References: <166256538687.1434226.15760041133601409770.stgit@firesoul> <35fcfb25-583a-e923-6eee-e8bbcc19db17@redhat.com> From: "Burakov, Anatoly" In-Reply-To: <35fcfb25-583a-e923-6eee-e8bbcc19db17@redhat.com> Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: base64 X-ClientProxiedBy: DU2PR04CA0282.eurprd04.prod.outlook.com (2603:10a6:10:28c::17) To BN6PR11MB1251.namprd11.prod.outlook.com (2603:10b6:404:48::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN6PR11MB1251:EE_|PH0PR11MB5628:EE_ X-MS-Office365-Filtering-Correlation-Id: 9091680f-8d0d-4038-b5c3-08daa6d3900d 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: yPqlMEQjICwSs7O9iI76khD0pDgO2uT0QyjV10feBNGZddSfbX/8fStls4B9rrtn5PF5dc2dPwiBAgm5yQz33PgZ9vN5izOPLUaNHKMk1flN6BwkxOoezLvdgEKRsDt5Y80HaX5jC0X6FHFd8TBYS+W+bTp5RGFkNWo8YvC/af8L6ZBEBh4DnLfyeEvbQ4tcHtUvyF6dY7x+fYinM8Vn1jMTMo5t+MTGHW0RavFqoeS+xZ7FXs0rudhU0ngc/889k6LZSTmaC7JIb2aCXJSXOg4z0m36iNiyTrisVV3wkVjmXwPtFxtsJBgemdJPb7NKxzZ0Wo3HEhfsc5zpW65UkxmzGnUmtVgTfDLTjYaDrMP/aPBGdNmW14Z9TDIosHcycAVGHhsaBcl+PLeFiJJPdlNS9wq0XHI6ox2+Sg0vdnlLg4W+VJGybOU/VtVMIwgvnFsw2I+ai0+XK3aip7eQJtH9g7XCuW1mP1sLrZZfm5J8FaxpOzuz2/6Kq8ipWlkJDlh7cMnywb/3raVcClFVq4HzEGCrUcnvTZoj1Qs8tMSSnom1eI65qbobwepebzaC8B/V6PyPZv05e5xHyr5HM0GuWrP3vtNPWmBTFa/awZNp4yG/FmUhGXDL5CT1yye2oMgdeyqNgv633Wn3IVO2Ed0kLfgpB3P2oLcjrqMvHqAQEll3eMbGG0elrzWj2dofcGAWIikZ17OaU8GhpiPmRLZEkj5VNlqSmNcUyKD7GaG5UpW2db5vO9szc4+tn8R4BDS5QbJXF+vhQzJ8EmP5hiDplrpHCdsUWYtXya2/Mb2Rf4pDww/LgfC+8rVXH7mB X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN6PR11MB1251.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(346002)(366004)(136003)(39860400002)(376002)(451199015)(2616005)(83380400001)(38100700002)(186003)(82960400001)(5660300002)(31696002)(2906002)(7416002)(8936002)(41300700001)(54906003)(53546011)(6486002)(478600001)(26005)(6666004)(6512007)(6506007)(8676002)(316002)(66476007)(66556008)(66946007)(86362001)(4326008)(31686004)(36756003)(21314003)(43740500002)(45980500001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MWlNMW5BamtLUUMraytVcmQxMkZDSkdXUnhOZDgvRS9WWDBmYW5PakJSUkV1?= =?utf-8?B?bUxjVHVqcXFLQ0NuQUs4V21sRC9NQWUzS0JGZXVvYU8wQzROVWxQa1BXSmc3?= =?utf-8?B?aWNNcTl6Z0taZkwyM3JCVTRhbGpYVkltRlZ1NkRWK0N6aEFDNG13ekxqVkZz?= =?utf-8?B?MkFDS01jUlRYOW5Ib0trcjJ0bEpQV2R3aDE1ZTN5cnlIaW1zT0VOWlcrS3Zh?= =?utf-8?B?a2JXN2NDMkpYY3NiZGR5TlBKc0d0RzJJV1BETWRRSFp3ODNmd050d0s4QmVW?= =?utf-8?B?Um1Oc1plUzB3bXBHeUhvT09JV2IwdkZkY3Ftbzlaa0pwa0xJZWdBUjF2eDVP?= =?utf-8?B?OGZNK1F2aSttbmowdm5XNm5nOVdseWhMNzBFQVFSMlVudTNRMEdjZzVQQUNB?= =?utf-8?B?bmMrRktneFdDemphK3N5eXFQamM0NXdLcmN5ZjdqeU1TLytEcVRtZ3YxYnRK?= =?utf-8?B?ZzZZRnBuenI0ZkxaV1lOaTgwRWMxMmRoTUIrU2lOMnNkYjRUOVhEZDlnYU9x?= =?utf-8?B?cFB5UUVsSDdKdjZQODVscWlSZkxUR3lyMWwvcnJWakk1bmxLTEJ5NmZqempm?= =?utf-8?B?ZWhXOWptZmVuaEY3eTlQSGdZT24wQUFnaGJTd09yaVZuRFlLekVlaGJRVWFx?= =?utf-8?B?Yk8rdnI2ZEdmaTJtYkpTVXREdzZsdEhvaHIyUVVydnVYaFNMQUtvQlRZVWFr?= =?utf-8?B?WTc2TlNyRkJ2M0ZlMEFjeXdLTTcyYU5LTkJBQkNCQ2FsU2VPNDdsRnduOE93?= =?utf-8?B?WXdBa2x0MFh2b3JLeVdod0FLKzY3R3g3akdxU0cyQmhpeEVocm5LUjhIWEhU?= =?utf-8?B?bm8yUnJWYlBNdUsyeFpmZDArR0pyZWpaa0RiN28wUGIvUllVTk5IZE12MnBP?= =?utf-8?B?Yjh3VG9FSEp1NGY0MDBodXJjTmJNcmFMWW1yRjUwVmlRZ0tHYzdoYjVrUU9r?= =?utf-8?B?bVp1bzIrazRhd0xkNmVmR3VrQzN3TjNJU2tzKzRxNksyRWxnNEw3RW1sNDZy?= =?utf-8?B?eU1FRm5jNGJubExnQjZadEVuSmJIMVp6R0JUUVVFY2xxRG5rR3FvckxkS2tn?= =?utf-8?B?cnQyUWovbTB6dlloZTBodHRsTTFMeVY0SzJ3TXFlL25pVmpWUzcyYjB4Nzg0?= =?utf-8?B?dlZkcTJHUUhCczdUb3RPZFI4bG8ranY5emFuTTYzUlFLL2lkTGhVOWdKRHEx?= =?utf-8?B?TTM4ZzI4NUxGcm9IUVV3OWFzQ3hTWnJwVUJCTTFzNCt6bEs2WEVBMDYxOVdW?= =?utf-8?B?VE1PMmM0TWpoSWRHbGQrZUYvSDl3dThLb0hDSEh3aHVOa0FzcFgwOVJJUUoy?= =?utf-8?B?d0F0TGp1a0l1OStPOTBOSHFQM2xBbGNLR245YlY5RVJBTmE1ZHZCdjlnbW8r?= =?utf-8?B?NkNLWTFycFROTTVsTUFNY3BWY0ZOOU92bTFtaFFiYUw0TFRVYVQySmkySUVX?= =?utf-8?B?c2NqVGFEZ1ZXT2p2eksyV0kydklrS1VnMDNmSmxOUGYydWhkQWtYbjIvR3N2?= =?utf-8?B?SXVETjF4S1hhdEJMcStudkFFaThIMk00Vit4YW9HRlhlcFdHdGwzQk5wNFV1?= =?utf-8?B?SHM5dVM1SGxpUU9XNStUUkQvZTNoOTl6blBMdWphaXZ1eFRLWEo0VkM2ZGpy?= =?utf-8?B?NWw3YURuWUY2QkZBSUxldEJ4c2NtdEFwckx3SWlaR2pxQXE0V3BQYTNBOTN3?= =?utf-8?B?ZW5UUXBRMTRONXhLVzdoQTVOLzR4OEd6aFBMdko1NW5IYlJBTVBmbGN6TzFF?= =?utf-8?B?b05JNFhzaFdMai9qMHFxL1dpSDFGNFFGV2ZoTVVMVlcvTTJ3M29yeGkrbHpB?= =?utf-8?B?TVhMSDZyTm5FVE1YdGJCNkwzeGF3cVNnaWxpMThVdG5hWm5aMEpaWS9Fc3Y3?= =?utf-8?B?ckJkMENyU1ViNkY5TVZNSXFpMGxIMjVselZBL0RmOFVJMUx3MXp6TXlWaUZ3?= =?utf-8?B?ZThTU1VzV2RDNndtOExMMlQ2U05PTkZIVHBIditwUExSV3d1UXp6ZHZsdmg5?= =?utf-8?B?RkhMOE82ZytXWGFpek5IcTVabFVFNVpRWjZ1bVl5WGZLMEZMMkMrWlhZdTBP?= =?utf-8?B?bVplK01OSWNoU2tOU2tHWFJBVTJqNEkzUUo5VTJHSHBWaGRTc1puaXBaRmR2?= =?utf-8?B?NS9VQko5cTZMcUlTS043cU9LbGVETGowVmZVN2RHS3pBRWJCT3FvM04zQTg1?= =?utf-8?B?SkE9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: 9091680f-8d0d-4038-b5c3-08daa6d3900d X-MS-Exchange-CrossTenant-AuthSource: BN6PR11MB1251.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Oct 2022 13:14:41.4852 (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: v2MyyVmPXTYPB7tenXqc7eCRAvj8skHnwftVYkTX4LSyfGRsQ/OZDD93U0sFaZG0wxB8SD0BDcnNenGI24EaYE6LUNdAWYskbeQ9CA/rMZU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5628 X-OriginatorOrg: intel.com Message-ID-Hash: J2PYHC6UCWCHBXEBGKU5YWRY6NTXYB66 X-Message-ID-Hash: J2PYHC6UCWCHBXEBGKU5YWRY6NTXYB66 X-MailFrom: anatoly.burakov@intel.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: brouer@redhat.com, bpf@vger.kernel.org, netdev@vger.kernel.org, xdp-hints@xdp-project.net, larysa.zaremba@intel.com, memxor@gmail.com, Lorenzo Bianconi , mtahhan@redhat.com, Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , dave@dtucker.co.uk, Magnus Karlsson , bjorn@kernel.org X-Mailman-Version: 3.3.5 Precedence: list Subject: [xdp-hints] Re: [PATCH RFCv2 bpf-next 00/18] XDP-hints: XDP gaining access to HW offload hints via BTF List-Id: XDP hardware hints design discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: T24gMDQtT2N0LTIyIDEwOjI5IEFNLCBKZXNwZXIgRGFuZ2FhcmQgQnJvdWVyIHdyb3RlOg0KPiAN Cj4gT24gMDQvMTAvMjAyMiAwMS41NSwgc2RmQGdvb2dsZS5jb20gd3JvdGU6DQo+PiBPbiAwOS8w NywgSmVzcGVyIERhbmdhYXJkIEJyb3VlciB3cm90ZToNCj4+PiBUaGlzIHBhdGNoc2V0IGV4cG9z ZSB0aGUgdHJhZGl0aW9uYWwgaGFyZHdhcmUgb2ZmbG9hZCBoaW50cyB0byBYRFAgYW5kDQo+Pj4g cmVseSBvbiBCVEYgdG8gZXhwb3NlIHRoZSBsYXlvdXQgdG8gdXNlcnMuDQo+Pg0KPj4+IE1haW4g aWRlYSBpcyB0aGF0IHRoZSBrZXJuZWwgYW5kIE5JQyBkcml2ZXJzIHNpbXBseSBkZWZpbmVzIHRo ZSBzdHJ1Y3QNCj4+PiBsYXlvdXRzIHRoZXkgY2hvb3NlIHRvIHVzZSBmb3IgWERQLWhpbnRzLiBU aGVzZSBYRFAtaGludHMgc3RydWN0cyBnZXRzDQo+Pj4gbmF0dXJhbGx5IGFuZCBhdXRvbWF0aWNh bGx5IGRlc2NyaWJlZCB2aWEgQlRGIGFuZCBpbXBsaWNpdGx5IGV4cG9ydGVkIHRvDQo+Pj4gdXNl cnMuIE5JQyBkcml2ZXJzIHBvcHVsYXRlIGFuZCByZWNvcmRzIHRoZWlyIG93biBCVEYgSUQgYXMg dGhlIGxhc3QNCj4+PiBtZW1iZXIgaW4gWERQIG1ldGFkYXRhIGFyZWEgKG1ha2luZyBpdCBlYXNp bHkgYWNjZXNzaWJsZSBieSBBRl9YRFANCj4+PiB1c2Vyc3BhY2UgYXQgYSBrbm93biBuZWdhdGl2 ZSBvZmZzZXQgZnJvbSBwYWNrZXQgZGF0YSBzdGFydCkuDQo+Pg0KPj4+IE5hbWluZyBjb252ZW50 aW9ucyBmb3IgdGhlIHN0cnVjdHMgKHhkcF9oaW50c18qKSBpcyB1c2VkIHN1Y2ggdGhhdA0KPj4+ IHVzZXJzcGFjZSBjYW4gZmluZCBhbmQgZGVjb2RlIHRoZSBCVEYgbGF5b3V0IGFuZCBtYXRjaCBh Z2FpbnN0IHRoZQ0KPj4+IHByb3ZpZGVkIEJURiBJRHMuIFRodXMsIG5vIG5ldyBVQVBJIGludGVy ZmFjZXMgYXJlIG5lZWRlZCBmb3IgZXhwb3J0aW5nDQo+Pj4gd2hhdCBYRFAtaGludHMgYSBkcml2 ZXIgc3VwcG9ydHMuDQo+Pg0KPj4+IFRoZSBwYXRjaCAiaTQwZTogQWRkIHhkcF9oaW50c191bmlv biIgaW50cm9kdWNlIHRoZSBpZGVhIG9mIGNyZWF0aW5nIGENCj4+PiB1bmlvbiBuYW1lZCAieGRw X2hpbnRzX3VuaW9uIiBpbiBldmVyeSBkcml2ZXIsIHdoaWNoIGNvbnRhaW5zIGFsbA0KPj4+IHhk cF9oaW50c18qIHN0cnVjdCB0aGlzIGRyaXZlciBjYW4gc3VwcG9ydC4gVGhpcyBtYWtlcyBpdCBl YXNpZXIvcXVpY2tlcg0KPj4+IHRvIGZpbmQgYW5kIHBhcnNlIHRoZSByZWxldmFudCBCVEYgdHlw ZXMuwqAgKFNlZWtpbmcgaW5wdXQgYmVmb3JlIGZpeGluZw0KPj4+IHVwIGFsbCBkcml2ZXJzIGlu IHBhdGNoc2V0KS4NCj4+DQo+Pg0KPj4+IFRoZSBtYWluIGRpZmZlcmVudCBmcm9tIFJGQy12MToN Cj4+PiDCoCAtIERyb3AgaWRlYSBvZiBCVEYgIm9yaWdpbiIgKHZtbGludXgsIG1vZHVsZSBvciBs b2NhbCkNCj4+PiDCoCAtIEluc3RlYWQgdG8gdXNlIGZ1bGwgNjQtYml0IEJURiBJRCB0aGF0IGNv bWJpbmUgb2JqZWN0K3R5cGUgSUQNCj4+DQo+Pj4gSSd2ZSB0YWtlbiBzb21lIG9mIEFsZXhhbmRy L0xhcnlzYSdzIGxpYmJwZiBwYXRjaGVzIGFuZCBpbnRlZ3JhdGVkDQo+Pj4gdGhvc2UuDQo+Pg0K Pj4+IFBhdGNoc2V0IGV4Y2VlZHMgbmV0ZGV2IHVzdWFsbHkgbWF4IDE1IHBhdGNoZXMgcnVsZS4g TXkgZXhjdXNlIGlzIHRocmVlDQo+Pj4gTklDIGRyaXZlcnMgKGk0MGUsIGl4Z2JlIGFuZCBtdm5l dGEpIGdldHMgWERQLWhpbnRzIHN1cHBvcnQgYW5kIHdoaWNoDQo+Pj4gcmVxdWlyZWQgc29tZSBy ZWZhY3RvcmluZyB0byByZW1vdmUgdGhlIFNLQiBkZXBlbmRlbmNpZXMuDQo+Pg0KPj4gSGV5IEpl c3BlciwNCj4+DQo+PiBJIHRvb2sgYSBxdWljayBsb29rIGF0IHRoZSBzZXJpZXMuIA0KPiBBcHBy ZWNpYXRlIHRoYXQhIDotKQ0KPiANCj4+IERvIHdlIHJlYWxseSBuZWVkIHRoZSBlbnVtIHdpdGgg dGhlIGZsYWdzPw0KPiANCj4gVGhlIHByaW1hcnkgcmVhc29uIGZvciB1c2luZyBlbnVtIGlzIHRo YXQgdGhlc2UgZ2V0cyBleHBvc2VkIGFzIEJURi4NCj4gVGhlIHByb3Bvc2FsIGlzIHRoYXQgdXNl cnNwYWNlL0JURiBuZWVkIHRvIG9idGFpbiB0aGUgZmxhZ3MgdmlhIEJURiwNCj4gc3VjaCB0aGF0 IHRoZXkgZG9uJ3QgYmVjb21lIFVBUEksIGJ1dCBzb21ldGhpbmcgd2UgY2FuIGNoYW5nZSBsYXRl ci4NCj4gDQo+PiBXZSBtaWdodCBldmVudHVhbGx5IGhpdCB0aGF0ICJmaXJzdCAxNiBiaXRzIGFy ZSByZXNlcnZlZCIgaXNzdWU/DQo+Pg0KPj4gSW5zdGVhZCBvZiBleHBvc2luZyBlbnVtIHdpdGgg dGhlIGZsYWdzLCB3aHkgbm90IHNvbHZlIGl0IGFzIGZvbGxvd3M6DQo+PiBhLiBXZSBkZWZpbmUg VUFQSSBzdHJ1Y3QgeGRwX3J4X2hpbnRzIHdpdGggX2FsbF8gcG9zc2libGUgaGludHMNCj4gDQo+ IEhvdyBjYW4gd2Uga25vdyBfYWxsXyBwb3NzaWJsZSBoaW50cyBmcm9tIHRoZSBiZWdpbm5pbmco PykuDQo+IA0KPiBVQVBJICsgY2VudHJhbCBzdHJ1Y3QgZGljdGF0aW5nIGFsbCBwb3NzaWJsZSBo aW50cywgd2lsbCBsaW1pdCBpbm5vdmF0aW9uLg0KPiANCj4+IGIuIEVhY2ggZGV2aWNlIGRlZmlu ZXMgbXVjaCBkZW5zZXIgPGRldmljZT5feGRwX3J4X2hpbnRzIHN0cnVjdCB3aXRoIHRoZQ0KPj4g wqDCoMKgIG1ldGFkYXRhIHRoYXQgaXQgc3VwcG9ydHMNCj4gDQo+IFRodXMsIHRoZSBOSUMgZGV2 aWNlIGlzIGxpbWl0ZWQgdG8gd2hhdCBpcyBkZWZpbmVkIGluIFVBUEkgc3RydWN0DQo+IHhkcF9y eF9oaW50cy7CoCBBZ2FpbiB0aGlzIGxpbWl0cyBpbm5vdmF0aW9uLg0KPiANCj4+IGMuIFRoZSBz dWJzZXQgb2YgZmllbGRzIGluIDxkZXZpY2U+X3hkcF9yeF9oaW50cyBzaG91bGQgbWF0Y2ggdGhl IG9uZXMgDQo+PiBmcm9tDQo+PiDCoMKgwqAgeGRwX3J4X2hpbnRzICh3ZSBlc3NlbnRpYWxseSBz dGFuZGFyZGl6ZSBvbiB0aGUgZmllbGQgbmFtZXMvc2l6ZXMpDQo+PiBkLiBXZSBleHBvc2UgPGRl dmljZT5feGRwX3J4X2hpbnRzIGJ0ZiBpZCB2aWEgbmV0bGluayBmb3IgZWFjaCBkZXZpY2UNCj4g DQo+IEZvciB0aGlzIHByb3Bvc2VkIGRlc2lnbiB5b3Ugd291bGQgc3RpbGwgbmVlZCBtb3JlIHRo YW4gb25lIEJURiBJRCBvcg0KPiA8ZGV2aWNlPl94ZHBfcnhfaGludHMgc3RydWN0J3MsIGJlY2F1 c2Ugbm90IGFsbCBwYWNrZXRzIGNvbnRhaW5zIGFsbA0KPiBoaW50cy4gVGhlIG1vc3QgY29tbW9u IGNhc2UgaXMgSFcgdGltZXN0YW1waW5nLCB3aGljaCBzb21lIEhXIG9ubHkNCj4gc3VwcG9ydHMg Zm9yIFBUUCBmcmFtZXMuDQo+IA0KPiBQbHVzLCBJIGRvbid0IHNlZSBhIG5lZWQgdG8gZXhwb3Nl IGFueXRoaW5nIHZpYSBuZXRsaW5rLCBhcyB3ZSBjYW4ganVzdA0KPiB1c2UgdGhlIGV4aXN0aW5n IEJURiBpbmZvcm1hdGlvbiBmcm9tIHRoZSBtb2R1bGUuwqAgVGh1cywgYXZvaWRpbmcgdG8NCj4g Y3JlYXRpbmcgbW9yZSBVQVBJLg0KPiANCj4+IGUuIGxpYmJwZiB3aWxsIHF1ZXJ5IGFuZCBkbyBv ZmZzZXQgcmVsb2NhdGlvbnMgZm9yDQo+PiDCoMKgwqAgeGRwX3J4X2hpbnRzIC0+IDxkZXZpY2U+ X3hkcF9yeF9oaW50cyBhdCBsb2FkIHRpbWUNCj4+DQo+PiBXb3VsZCB0aGF0IHdvcms/IFRoZW4g aXQgc2VlbXMgbGlrZSB3ZSBjYW4gcmVwbGFjZSBiaXRmaWVsZHMgd2l0aCB0aGUgDQo+IA0KPiBJ IHVzZWQgdG8gYmUgYSBmYW4gb2YgYml0ZmllbGRzLCB1bnRpbCBJIGRpc2NvdmVyZWQgdGhhdCB0 aGV5IGFyZSBiYWQNCj4gZm9yIHBlcmZvcm1hbmNlLCBiZWNhdXNlIGNvbXBpbGVycyBjYW5ub3Qg b3B0aW1pemUgdGhlc2UuDQo+IA0KPj4gZm9sbG93aW5nOg0KPj4NCj4+IMKgwqAgaWYgKGJwZl9j b3JlX2ZpZWxkX2V4aXN0cyhzdHJ1Y3QgeGRwX3J4X2hpbnRzLCB2bGFuX3RjaSkpIHsNCj4+IMKg wqDCoMKgIC8qIHVzZSB0aGF0IGhpbnQgKi8NCj4gDQo+IEZhaXJseSBvZnRlbiBhIFZMQU4gd2ls bCBub3QgYmUgc2V0IGluIHBhY2tldHMsIHNvIHdlIHN0aWxsIGhhdmUgdG8gcmVhZA0KPiBhbmQg Y2hlY2sgYSBiaXRmaWVsZC9mbGFnIGlmIHRoZSBWTEFOIHZhbHVlIGlzIHZhbGlkLiAoR3Vlc3Mg aXQgaXMNCj4gaW1wbGljaXQgaW4gYWJvdmUgY29kZSkuDQo+IA0KPj4gwqDCoCB9DQo+Pg0KPj4g QWxsIHdlIG5lZWQgaGVyZSBpcyBmb3IgbGliYnBmIHRvLCBhZ2FpbiwgZG8geGRwX3J4X2hpbnRz IC0+DQo+PiA8ZGV2aWNlPl94ZHBfcnhfaGludHMgdHJhbnNsYXRpb24gYmVmb3JlIGl0IGV2YWx1 YXRlcyANCj4+IGJwZl9jb3JlX2ZpZWxkX2V4aXN0cygpPw0KPj4NCj4+IFRob3VnaHRzPyBBbnkg ZG93bnNpZGVzPyBBbSBJIG1pc3Npbmcgc29tZXRoaW5nPw0KPj4NCj4gDQo+IFdlbGwsIHRoZSBk b3duc2lkZSBpcyBwcmltYXJpbHkgdGhhdCB0aGlzIGRlc2lnbiBsaW1pdHMgaW5ub3ZhdGlvbi4N Cj4gDQo+IEVhY2ggdGltZSBhIE5JQyBkcml2ZXIgd2FudCB0byBpbnRyb2R1Y2UgYSBuZXcgaGFy ZHdhcmUgaGludCwgdGhleSBoYXZlDQo+IHRvIHVwZGF0ZSB0aGUgY2VudHJhbCBVQVBJIHhkcF9y eF9oaW50cyBzdHJ1Y3QgZmlyc3QuDQo+IA0KPiBUaGUgZGVzaWduIGluIHRoZSBwYXRjaHNldCBp cyB0byBvcGVuIGZvciBpbm5vdmF0aW9uLsKgIERyaXZlciBjYW4gZXh0ZW5kDQo+IHRoZWlyIG93 biB4ZHBfaGludHNfPGRyaXZlcj5feHh4IHN0cnVjdChzKS7CoCBUaGV5IHN0aWxsIGhhdmUgdG8g bGFuZA0KPiB0aGVpciBwYXRjaGVzIHVwc3RyZWFtLCBidXQgYXZvaWQgbWFuZ2xpbmcgYSBjZW50 cmFsIFVBUEkgc3RydWN0LiBBcw0KPiB1cHN0cmVhbSB3ZSByZXZpZXcgZHJpdmVyIGNoYW5nZXMg YW5kIHNob3VsZCBmb2N1cyBvbiBzYW5lIHN0cnVjdCBtZW1iZXINCj4gbmFtaW5nKCtzaXplKSBl c3BlY2lhbGx5IGlmIHRoaXMgInNvdW5kcyIgbGlrZSBhIGhpbnQvZmVhdHVyZSB0aGF0IG1vcmUN Cj4gZHJpdmVyIGFyZSBsaWtlbHkgdG8gc3VwcG9ydC7CoCBXaXRoIGhlbHAgZnJvbSBCVEYgcmVs b2NhdGlvbnMsIGEgbmV3DQo+IGRyaXZlciBjYW4gc3VwcG9ydCBzYW1lIGhpbnQvZmVhdHVyZSBp ZiBuYW1pbmcoK3NpemUpIG1hdGNoICh3aXRob3V0DQo+IG5lY2Vzc2FyeSB0aGUgc2FtZSBvZmZz ZXQgaW4gdGhlIHN0cnVjdCkuDQo+IA0KPj4gQWxzbywgYWJvdXQgdGhlIFRYIHNpZGU6IEkgZmVl bCBsaWtlIHRoZSBzYW1lIGNhbiBiZSBhcHBsaWVkIHRoZXJlLA0KPj4gdGhlIHByb2dyYW0gd29y a3Mgd2l0aCB4ZHBfdHhfaGludHMgYW5kIGxpYmJwZiB3aWxsIHJld3JpdGUgdG8NCj4+IDxkZXZp Y2U+X3hkcF90eF9oaW50cy4geGRwX3R4X2hpbnRzIG1pZ2h0IGhhdmUgZmllbGRzIGxpa2UgDQo+ PiAiaGFzX3R4X3ZsYW46MSI7DQo+PiB0aG9zZSwgcHJlc3VtYWJseSwgY2FuIGJlIHJlbG9jYXRh YmxlIGJ5IGxpYmJwZiBhcyB3ZWxsPw0KPj4NCj4gDQo+IEdvb2QgdG8gdGhpbmsgYWhlYWQgZm9y IFRYLXNpZGUsIGV2ZW4tdGhvdWdoIEkgdGhpbmsgd2Ugc2hvdWxkIGZvY3VzIG9uDQo+IGxhbmRp bmcgUlgtc2lkZSBmaXJzdC4NCj4gDQo+IEkgbm90aWNlIHlvdXIgbmFtaW5nIHhkcF9yeF9oaW50 cyB2cy4geGRwX3R4X2hpbnRzLsKgIEkgaGF2ZSBuYW1lZCB0aGUNCj4gY29tbW9uIHN0cnVjdCB4 ZHBfaGludHNfY29tbW9uLCB3aXRob3V0IGEgUlgvVFggZGlyZWN0aW9uIGluZGljYXRpb24uDQo+ IE1heWJlIHRoaXMgaXMgd3Jvbmcgb2YgbWUsIGJ1dCBteSB0aGlua2luZyB3YXMgdGhhdCBtb3N0 IG9mIHRoZSBjb21tb24NCj4gaGludHMgY2FuIGJlIGRpcmVjdGx5IHVzZWQgYXMgVFgtc2lkZSBo aW50cy7CoCBJJ20gaG9waW5nIFRYLXNpZGUNCj4geGRwLWhpbnRzIHdpbGwgbmVlZCB0byBkbyBs aXR0bGUtdG8tbm9uIGFkanVzdG1lbnQsIGJlZm9yZSB1c2luZyB0aGUNCj4gaGludHMgYXMgVFgg Imluc3RydWN0aW9uIi7CoCBJJ20gaG9waW5nIHRoYXQgWERQLXJlZGlyZWN0IHdpbGwganVzdCB3 b3JrDQo+IGFuZCB4bWl0IGRyaXZlciBjYW4gdXNlIFhEUC1oaW50cyBhcmVhLg0KPiANCj4gUGxl YXNlIGNvcnJlY3QgbWUgaWYgSSdtIHdyb25nLg0KPiBUaGUgY2hlY2tzdW0gZmllbGRzIGhvcGVm dWxseSB0cmFuc2xhdGVzIHRvIHNpbWlsYXIgVFggb2ZmbG9hZCAiYWN0aW9ucyIuDQo+IFRoZSBW TEFOIG9mZmxvYWQgaGludCBzaG91bGQgdHJhbnNsYXRlIGRpcmVjdGx5IHRvIFRYLXNpZGUuDQoN Ckxpa2UgSSBpbmRpY2F0ZWQgaW4gYW5vdGhlciByZXNwb25zZSwgbm90IG5lY2Vzc2FyaWx5LiBS eCBjaGVja3N1bSANCnR5cGljYWxseSBpbmRpY2F0ZXMgdGhhdCB0aGUgY2hlY2tzdW1taW5nIHdh cyBjb21wbGV0ZWQgYW5kIGNoZWNrc3VtIHdhcyANCmdvb2QvYmFkLCBidXQgZm9yIFR4IHdlIGFj dHVhbGx5IHN1cHBseSBvZmZzZXRzIChwb3NzaWJseSBtdWx0aXBsZSBvbmVzLCANCmRlcGVuZGlu ZyBvbiBMMi9MMy9MNCBwYWNrZXQsIHBsdXMgdGhlcmUncyBhbHNvIGEgbmVlZCB0byBkaXN0aW5n dWlzaCANCmJldHdlZW4gcGFja2V0IHR5cGVzIGFzIGRpZmZlcmVudCBOSUNzIHdpbGwgaGF2ZSBk aWZmZXJlbnQgb2ZmbG9hZCBiaXRzIA0KZm9yIGRpZmZlcmVudCBwdHlwZXMpIGluIHRoZSBtZXRh ZGF0YS4gU28sIHdoaWxlIFZMQU4gb2ZmbG9hZCBtYXkgb3IgbWF5IA0Kbm90IHRyYW5zbGF0ZSBk aXJlY3RseSB0byB0aGUgVHggc2lkZSBvZiB0aGluZ3MsIGNoZWNrc3VtbWluZyBwcm9iYWJseSAN Cndvbid0Lg0KDQo+IA0KPiBJIGNhbiBlYXNpbHkgYmUgY29udmluY2VkIHdlIHNob3VsZCBuYW1l IGl0IHhkcF9oaW50c19yeF9jb21tb24gZnJvbSB0aGUNCj4gc3RhcnQsIGJ1dCB0aGVuIEkgd2ls bCBwcm9wb3NlIHRoYXQgeGRwX2hpbnRzX3R4X2NvbW1vbiBoYXZlIHRoZQ0KPiBjaGVja3N1bSBh bmQgVkxBTiBmaWVsZHMrZmxhZ3MgYXQgc2FtZSBsb2NhdGlvbnMsIHN1Y2ggdGhhdCB3ZSBkb24n dA0KPiB0YWtlIGFueSBwZXJmb3JtYW5jZSBoaW50IGZvciBtb3ZpbmcgdGhlbSB0byAiVFgtc2lk ZSIgaGludHMsIG1ha2luZw0KPiBYRFAtcmVkaXJlY3QganVzdCB3b3JrLg0KPiANCj4gLS1KZXNw ZXINCj4gDQoNCi0tIA0KVGhhbmtzLA0KQW5hdG9seQ0KDQo=