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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 95B1BCEBF61 for ; Mon, 17 Nov 2025 14:39:31 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 280EA10E3C2; Mon, 17 Nov 2025 14:39:31 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="gKAnEVOt"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.14]) by gabe.freedesktop.org (Postfix) with ESMTPS id 18CFA10E1C5 for ; Mon, 17 Nov 2025 14:39:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1763390370; x=1794926370; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=xbqaxvjK8olRujh2fH2gFvtpOQi/hBIE7xX0cHU1pdc=; b=gKAnEVOti9cXjyULL4xO9gR+40YB+HIGjz32Eob0DnSpFTpKq1iD6QSQ fLGPpa4V6SAJXIKUthY2lhpxEWKd/ImSbY/B+LTXnKKlr3wJKkXS082C7 yhaiQ2AccexIf5LYQleIWq3chccgVoILPIxTocsdK03TCJN+C/lDn2uON z0p+QaEfDEkL4T6DQqFbc3GSLHk//uHhZZE/B6e9lnwYNENmFPawlOto3 NOIA8LFVfsDsgJZO6YT0tbyjwPF/24hDkA6B0neXPERN8T1d2UJucGJ1C Emi4tbpD3lXZ+tFotey1ZLZ+yeimH2pHgqNtQ6Xk4SP3Xdfxy6xrs2NQI A==; X-CSE-ConnectionGUID: NhczsGviRuOQOtK44lx2lg== X-CSE-MsgGUID: jI+83uetSO2og/LYiGP62A== X-IronPort-AV: E=McAfee;i="6800,10657,11616"; a="65428369" X-IronPort-AV: E=Sophos;i="6.19,312,1754982000"; d="scan'208";a="65428369" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by fmvoesa108.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Nov 2025 06:39:30 -0800 X-CSE-ConnectionGUID: ETGbx33aQiCDQQadsVfZeA== X-CSE-MsgGUID: eTT5xNGcSPG7pqAu73RTMg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.19,312,1754982000"; d="scan'208";a="189758605" Received: from fmsmsx902.amr.corp.intel.com ([10.18.126.91]) by orviesa010.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Nov 2025 06:39:30 -0800 Received: from FMSMSX902.amr.corp.intel.com (10.18.126.91) by fmsmsx902.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27; Mon, 17 Nov 2025 06:39:29 -0800 Received: from fmsedg903.ED.cps.intel.com (10.1.192.145) by FMSMSX902.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27 via Frontend Transport; Mon, 17 Nov 2025 06:39:29 -0800 Received: from PH0PR06CU001.outbound.protection.outlook.com (40.107.208.25) by edgegateway.intel.com (192.55.55.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27; Mon, 17 Nov 2025 06:39:28 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ESWA7GM9dABgAegsu9WN17He9NtSNWH693WZTlVUkKFZNrVxYu7LbMa0RxT40CwPxiv4vYxLzHkRHyFV81TpYc+9J2GQIQ3ODPQ/prC0PhB0TB38D7jg1CRCjzpDHwQA0+G6Kdj2CLED30eKQv/uObI1fwg7WBTlUbnbtVrzjFckW7iS1t1qt9nBy6oT3nETq+NwiRw6pVYtDJGKpMSwyfd+QJW8yu+W/ITAXGhrqOeqQ4suPNb1qLjjTdHTVOUMeoc24iiQby/VSiowXrO9hOzjsVPH2uMIkhKDc5xDA99aqQVM37gJ31dy9Ut4mT6WUe4dGmCWhl6CxETDdPt+dw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=xbqaxvjK8olRujh2fH2gFvtpOQi/hBIE7xX0cHU1pdc=; b=dhV4qv2gL+7u+85uKIID+gQAO9GntZARQwBwLZ139C6NaKdsU0dKYYKcNkjd3P0bDfjrMCppVf8G9ebqrD6LS0CiX6chDAgyEylrTIidi5zZL2UJfxxbXn2FJD7IGBjej3G0ecS2JHUfRR5Ie/Heb51oWZDB6CjD2KmG2dPsoVolGwRZTKpevlGWnFD/MStEINQG4Jrx4rC/+smHewb0FF8yJm3kNU+H7kAQq7lNK7XLh6qkPkgHpkOuyffLUiBm97ghXScIHcjpN6ZluaZwVrjrkOrryiL6+0nn7I1de0PlcOojNDjzW/TgRUmQ4NPHkPrNE5D9q1e0tqH/bU9kBw== 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 DS0PR11MB7733.namprd11.prod.outlook.com (2603:10b6:8:dc::19) by DS7PR11MB7932.namprd11.prod.outlook.com (2603:10b6:8:e5::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9320.22; Mon, 17 Nov 2025 14:39:26 +0000 Received: from DS0PR11MB7733.namprd11.prod.outlook.com ([fe80::41a9:1573:32ad:202c]) by DS0PR11MB7733.namprd11.prod.outlook.com ([fe80::41a9:1573:32ad:202c%6]) with mapi id 15.20.9320.013; Mon, 17 Nov 2025 14:39:26 +0000 From: "Hellstrom, Thomas" To: "igt-dev@lists.freedesktop.org" , "Sharma, Nishit" Subject: Re: [PATCH i-g-t v7 06/10] tests/intel/xe_multi_gpusvm.c: Add SVM multi-GPU performance test Thread-Topic: [PATCH i-g-t v7 06/10] tests/intel/xe_multi_gpusvm.c: Add SVM multi-GPU performance test Thread-Index: AQHcVLs53Wr+bihiBkCe6E5M1u17RLT29nqA Date: Mon, 17 Nov 2025 14:39:26 +0000 Message-ID: References: <20251113163308.633818-1-nishit.sharma@intel.com> <20251113163308.633818-7-nishit.sharma@intel.com> In-Reply-To: <20251113163308.633818-7-nishit.sharma@intel.com> Accept-Language: en-SE, en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.54.3 (3.54.3-2.fc41) authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS0PR11MB7733:EE_|DS7PR11MB7932:EE_ x-ms-office365-filtering-correlation-id: df1c1760-6e83-471f-f80e-08de25e71b7c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|10070799003|376014|1800799024|366016|38070700021; x-microsoft-antispam-message-info: =?utf-8?B?VUhCZXdEcEdYYy9FUThxNGtpVmQrZjNGeWNmbDFXV1NvUXpYSUZ0cnlRSjJt?= =?utf-8?B?Ym9uTlVyc0hNeFIzZXlDTDdHeG1qRmdKTFE0UXJtdEhhODNIR1FGRS9QcXgw?= =?utf-8?B?STQxK1kyYXd2RG03U1BTdmMrcUE0V3BBQTJLcXp3cC9DU0lPOWVONWpSTVEv?= =?utf-8?B?b2F6bzQySXNZTmFSNWhvV2orb2kyTE1DTEpycFZPSnY2TmJROGVHRzMrUmtL?= =?utf-8?B?UHhnbDlER0piZUdNakFzL2lxbmFRNTZVUzh3T0RSU1YxMmhKcnNmeEFoYk5V?= =?utf-8?B?WVZuMGVZL1o0YVdnY1pRSnExUjZVQjEveGdmamRjcms1aWNQTHo0SFpnUklu?= =?utf-8?B?eCtuQnlPRFBhdjdZSnJxelBFM3hSOHFBZFJpQlFlMTRMb0I2a0hDMndmM1hC?= =?utf-8?B?ZUQ2SkV3cmhHWGR1Wi9jV1kyY050K2ppUy9VUDZrOEpidG91bk5kaVdpb3FF?= =?utf-8?B?QUZiYUpoZ2w0MlNQUnZkS0lHajlXVzMrU1Z2QXpaVE8rR2c3ZVYzSHFySmM3?= =?utf-8?B?YnZ5aGo2aVlJRjFNNFdWbS9OYU9lL2ZtVk05YmFrbUNmZUd4eWRsZHlyamFB?= =?utf-8?B?MXo2Rnp4amhIS2lXR2lnODh3clRRRkdKYXdVR2ZIZTUrakxXcjJta2tBd1lN?= =?utf-8?B?NUdZWHJ2V3YxLzZqNXp4Q2YvSDN1VHA2SGtkSUsrY3ViQTRnL1pEZ1hmcUtZ?= =?utf-8?B?clJRTFlqTk9RYWtGOUlJNWFsTWJvZEhLOXBRNWJJK2FrYUpJU214dHNhSlNB?= =?utf-8?B?OFpUN3pZTDNOaE1oRnltM1RmdW45Z2V6NWw5K3B4cENZc0RjTTJ6djYyZDhr?= =?utf-8?B?MHJCS2h6ejdxaTliUWZpd2NuMEszaExBRUp6czZ4djQ3VktuTEtGeTU1cEVQ?= =?utf-8?B?Q0lGS0x4cXplUFNrc25yMHBxSkVmeVVHS2NsUTVVZEZ3dHFKWjcxeVJvcmp6?= =?utf-8?B?dUJ5SUk2ckNUKzhhakkrZnVnbDNQcVNDRW50cnE4Q1UrZ0g3SWlEN003MHFW?= =?utf-8?B?bTYvNHhaNXNWQnNucFc5MFdreVYrMEhMb1F2N3RKTm9JajhBYWcyUTRVR1A2?= =?utf-8?B?TmZjdVpoMy9jU0pERmlYaVl6UWd2OE5ORFdFQVJrcDRMTytlZUdxT0Q0VFBy?= =?utf-8?B?Y09tU2xoMVVrWWxhQ3Z0YjhTRGFpamlaQjVjMk45cUVHWnlDWVM5NkZyOGMz?= =?utf-8?B?WlZiMVl2UXZkWU1DbFhYN3hER3hPZ1FwREJIaE5PZHlIMVpPN0d3emZUbUha?= =?utf-8?B?TEkrdWlYUldrYWJrcXVpdmNHOWZBVE5ubzBncXVMMGx2SThwcUhuQktzM0Jt?= =?utf-8?B?cGRVM0FpaHFOdXlRc1ZXYk1UQkZtT0hmQ0tSbDhROVZjcUI1dFU4WEFvZXRS?= =?utf-8?B?Tnh3N1dXNFg5L0d1S1V2aFV4USs4Z0ZROWRzMzdBNEwxazl2aHFqWURFVGRz?= =?utf-8?B?R21DM3dDQUY1RFpkTXFybk9UaTBmeTA3aGdDUzRZNWJLZHgwUDRLbFZSUndS?= =?utf-8?B?S2QyU2M1bWxyMG4zV2REQ2NIN3MxUklva0lpWjRnQ01jbkl1STRqZnc1ZHhO?= =?utf-8?B?d3BSeEVvdDdYTU8vbjdXK3VBNEw3Smgzdk5iaG5ZbWdqTkxJS3ZFMVRmckJN?= =?utf-8?B?Qm15TVJiVnBVcUVlU3RZQ0ttSDVtekxGQnVtM2xaZXpLWmlpZmNPL29MejNY?= =?utf-8?B?WkU1NGJFSG9hNzUraWU3V3psOWt1RktJc0RJLzNQbWpKUnFLU3NKYnZ5a2E4?= =?utf-8?B?V3BNUVIyMHk3ZlB2QkFIRDlHOWhLMlluT1psdDBLS29FQVgvaXJkSVlPZG8x?= =?utf-8?B?S011bEpkV2FIaENMRUc4RmJSRlhKMndOR25EdnhGNU95Q1o4Z3ZOWFlEUlJy?= =?utf-8?B?ZVhHU1hMRXhnRUtWbWdZbnF5V3FYTFRyU3FZZGtBc3hJczNWdFJQMllaVXNP?= =?utf-8?B?MWl4Um95alRSNVBxdkJiSHVkbFBsZ0NraG1XdE1mOSt1bXlyWkpiSXZTb2E3?= =?utf-8?B?NTh3SnZrdXNJNDJTWEVnL2RYNEVsanVqMjV1QWZOaW1qVEJJelJYWllyQnBX?= =?utf-8?Q?wM6xvd?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS0PR11MB7733.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(10070799003)(376014)(1800799024)(366016)(38070700021); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TENOUDAxQmpTYktJSDIrMFl0Q0J3THZQamJPQUUrNHp3bWQ2TS9DZ1ZtOGJw?= =?utf-8?B?TzMycm1oYllzREMyOUNQMmFFekZjZkdNc0tCbzlBOTJZZ0dpL1gzTXpORURm?= =?utf-8?B?MUlwbHFXWVRuNDRKbWUrR05xdUMvbTg1WVRYSkRrWFFia0U4Q0dFeGJpYWlp?= =?utf-8?B?eGN4azg2QWV3Zlpnd1B5WUhCRXdWUGRoQnBZKzlJcXJtV3VscWxHNjhKdVFY?= =?utf-8?B?TnN6RVZhVmJWdXlyeWRWcVpweHlBam8yamFad2d5R1BMNFpaMXlST1lTOHFz?= =?utf-8?B?NlJGa1RnLzFKYzNGNGdVaU9uKzg4T1VZaXFXUmFYbFl0SUorUmFGUCtrcjlp?= =?utf-8?B?eUYzUVNyd052V2YyTkVDM3NYVlFTSktGdTg1akVOVk44UEZxZGNKUVltL0ta?= =?utf-8?B?ZGd1QUhwNlBTSENmbmtOMVErTy9sOTJMd1FXVUQ4Z0gzaU1CMklZRjM5K0cz?= =?utf-8?B?WmVBS0dKUjhwdnFKTE1IYTlDOU1ndW5zZXlYb2NXUlJZK01FVXo3Q2wvdTUw?= =?utf-8?B?UW41Tm9wZUJ2VGxxQjk1VWtEODJBT01acDloYWZFZGMyaDJMMkV2RTJtSGtV?= =?utf-8?B?K0JIYjVUUU1GcDhVbTJMbDZhWnliWDBCd3JnUEVXa3pDZ0YvaEdsTkdzMHgz?= =?utf-8?B?TC94dFgxcnlDTlFoLzdxTWVkVmpFaFFmbFU2bVJFNWpJLzFRRTJYb0ZiOFBR?= =?utf-8?B?b3RXTFZBL0theWxrZE5talNWbEhBQ05GVTR3aWtYMjZxRnhiQ0FLNlMxSTA2?= =?utf-8?B?NllJc3FWclZ6ZnJROHN2d2xsZ0lRUWE3OXJhblZ3MXdQUkJHYlVDVGhpbWlr?= =?utf-8?B?WEIraTgrNHVzVHNGenRiREVkMGEzUHYrWUcxNVlzVUpnUW9HS2lmak0zNzBw?= =?utf-8?B?ZW0veERMSlhaTlFZRVQyRXBDMklZeCs2SnBMZEdQVTkrdmVQVGdOQzJVU24x?= =?utf-8?B?SW42SjNZWXRybzE5cGpuMnFaR0JDR1d1NFJMY3BYMk5GSzFMbXJ3dEZXYk5t?= =?utf-8?B?NmdWOWpnRldmbTBrTmszY2JBOXVFL1FCRzlxSlgyRmRVd3dtTHdnY2lyVCtM?= =?utf-8?B?dExGSFFReHA2eEpvVnE1Zkx6VTdMWGY5VDhEYXVDN1JRcVYveUR5Z1c1VGs1?= =?utf-8?B?R2lMNlBsMEVjNkpHcFlBQlp4dGZwNGJ0Z21mNUhwOGRsMW9QVTZDRUpwa2wr?= =?utf-8?B?QnBwR2xYTjlnQng5ZzVPRzhKTXdlUE8wdGxqNG9rQk1BUG45VzQwZXB2b09t?= =?utf-8?B?VWhmVGFjUVMvdnRYdlppZXZpS1VyRk84UzgySjhkbTcyckNkN2tmTGZreHM0?= =?utf-8?B?d0w0YkhyL3hOU0V0WDI5Z1Z3R3FkNGhheXgyV0hJM2U2Qm1hKys5dGxTZEdH?= =?utf-8?B?NUVuanVoN2d4N2JxUEZrdWd0WkdFcm1hdVNNUXpNcXEvMFFGLzdJaHRpenlQ?= =?utf-8?B?a1NBRTB2VU5YYWp4RVpwbnI3aGdjUGhzZW5oeGJnQkl6Z0luMWhYU1BBNHRw?= =?utf-8?B?c2pzOVhSVWNvZ1dtWTBQMEFhbHNNQXhmRjJCUm1zc0NsRVYxSHhxMThNNEd2?= =?utf-8?B?Rm1sR1FYUmNQUlp0ajcrd1BSZ0xDNkJydTZoTWlweWRQS1M2NjJkL29TelN0?= =?utf-8?B?MktmdlU3RlJsL0Y1UmtFdUZ3N0RnaHBvVjlEdEVnQWUrSDlFQ1ovVG5jeWtB?= =?utf-8?B?aDBCN09uYzY2NFZ5cHVhdkI1ZUhtMFpxTVQ0WXJTVEZoNWo3WXNyRnROWXh5?= =?utf-8?B?WkRLdzVwN3FJaG91MXZORlBxMVpaUTRVVHBsdDdKQTZFTittRVpHUTBPQlhx?= =?utf-8?B?U3R1SXRnTlJWUUx3UTROSTZVTnA1N0NyZllEbWJLd3FybHJhUFVvTHVyQVBZ?= =?utf-8?B?d1hQVjdiTTlzcGwyWDl2S0E4S2pTeC9PZi9BVzR6aHI0Sm4yajBXcitZRHU2?= =?utf-8?B?emlvTDF4empMREluQmdBYnRCc0lubUY0cWdTZFMxOVdKaXl1dU5IT29ac3Fo?= =?utf-8?B?Z3o2aGU3Y3diOVkvSnMyWk56NkJaMitjMFU2NTBBaDF6ekIwZUZvb0lrU0lD?= =?utf-8?B?VVVtdHJNR2pZK1RCSFhpSU1Zc3FZZU5GNUFkeDQ5MzVJMlkzWUd4eHhwVERR?= =?utf-8?B?Q1JHcGZQeUJRMVVYdldyaGJyeTNmV3BGZ21xZjlhL0VBSzZjUXJZeGFYK1JN?= =?utf-8?Q?I9+XEkoQCusN0UIZXCE1oF+fqeiQYha2ZNz9XnU9H3/f?= Content-Type: text/plain; charset="utf-8" Content-ID: <8283D29BE39B984994AA795FDFA2C962@namprd11.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB7733.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: df1c1760-6e83-471f-f80e-08de25e71b7c X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Nov 2025 14:39:26.1470 (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: xpqhkLJV8wBLVo3SQlpTYuit6TfsgTm99EW7r+kh8dNj5ebOx5o5bwCiLeZt2A48981BeGSCKNJQ41xHPCAPbTOS+zIqdvNHNDDuXFbBEEE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR11MB7932 X-OriginatorOrg: intel.com X-BeenThere: igt-dev@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development mailing list for IGT GPU Tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" T24gVGh1LCAyMDI1LTExLTEzIGF0IDE2OjMzICswMDAwLCBuaXNoaXQuc2hhcm1hQGludGVsLmNv bSB3cm90ZToNCj4gRnJvbTogTmlzaGl0IFNoYXJtYSA8bmlzaGl0LnNoYXJtYUBpbnRlbC5jb20+ DQo+IA0KPiBUaGlzIHRlc3QgbWVhc3VyZXMgbGF0ZW5jeSBhbmQgYmFuZHdpZHRoIGZvciBidWZm ZXIgYWNjZXNzIGZyb20gZWFjaA0KPiBHUFUNCj4gYW5kIHRoZSBDUFUgaW4gYSBtdWx0aS1HUFUg U1ZNIGVudmlyb25tZW50LiBJdCBjb21wYXJlcyBwZXJmb3JtYW5jZQ0KPiBmb3INCj4gbG9jYWwg dmVyc3VzIHJlbW90ZSBhY2Nlc3MgdXNpbmcgbWFkdmlzZSBhbmQgcHJlZmV0Y2ggdG8gY29udHJv bA0KPiBidWZmZXINCj4gcGxhY2VtZW50DQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBOaXNoaXQgU2hh cm1hIDxuaXNoaXQuc2hhcm1hQGludGVsLmNvbT4NCj4gLS0tDQo+IMKgdGVzdHMvaW50ZWwveGVf bXVsdGlfZ3B1c3ZtLmMgfCAxODENCj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Kw0KPiDCoDEgZmlsZSBjaGFuZ2VkLCAxODEgaW5zZXJ0aW9ucygrKQ0KPiANCj4gZGlmZiAtLWdp dCBhL3Rlc3RzL2ludGVsL3hlX211bHRpX2dwdXN2bS5jDQo+IGIvdGVzdHMvaW50ZWwveGVfbXVs dGlfZ3B1c3ZtLmMNCj4gaW5kZXggNjc5MmVmNzJjLi4yYzhlNjJlMzQgMTAwNjQ0DQo+IC0tLSBh L3Rlc3RzL2ludGVsL3hlX211bHRpX2dwdXN2bS5jDQo+ICsrKyBiL3Rlc3RzL2ludGVsL3hlX211 bHRpX2dwdXN2bS5jDQo+IEBAIC0xMyw2ICsxMyw4IEBADQo+IMKgI2luY2x1ZGUgImludGVsX21v Y3MuaCINCj4gwqAjaW5jbHVkZSAiaW50ZWxfcmVnLmgiDQo+IMKgDQo+ICsjaW5jbHVkZSAidGlt ZS5oIg0KPiArDQo+IMKgI2luY2x1ZGUgInhlL3hlX2lvY3RsLmgiDQo+IMKgI2luY2x1ZGUgInhl L3hlX3F1ZXJ5LmgiDQo+IMKgI2luY2x1ZGUgInhlL3hlX3V0aWwuaCINCj4gQEAgLTQxLDYgKzQz LDExIEBADQo+IMKgICogRGVzY3JpcHRpb246DQo+IMKgICrCoAlUaGlzIHRlc3QgY2hlY2tzIGNv aGVyZW5jeSBpbiBtdWx0aS1ncHUgYnkgd3JpdGluZyBmcm9tIEdQVTANCj4gwqAgKsKgCXJlYWRp bmcgZnJvbSBHUFUxIGFuZCB2ZXJpZnkgYW5kIHJlcGVhdGluZyB3aXRoIENQVSBhbmQgYm90aA0K PiBHUFVzDQo+ICsgKg0KPiArICogU1VCVEVTVDogbGF0ZW5jeS1tdWx0aS1ncHUNCj4gKyAqIERl c2NyaXB0aW9uOg0KPiArICrCoAlUaGlzIHRlc3QgbWVhc3VyZXMgYW5kIGNvbXBhcmVzIGxhdGVu Y3kgYW5kIGJhbmR3aWR0aCBmb3INCj4gYnVmZmVyIGFjY2Vzcw0KPiArICrCoAlmcm9tIENQVSwg bG9jYWwgR1BVLCBhbmQgcmVtb3RlIEdQVQ0KPiDCoCAqLw0KPiDCoA0KPiDCoCNkZWZpbmUgTUFY X1hFX1JFR0lPTlMJOA0KPiBAQCAtMTAzLDYgKzExMCwxMSBAQCBzdGF0aWMgdm9pZCBncHVfY29o ZXJlY3lfdGVzdF93cmFwcGVyKHN0cnVjdA0KPiB4ZV9zdm1fZ3B1X2luZm8gKnNyYywNCj4gwqAJ CQkJwqDCoMKgwqDCoCBzdHJ1Y3QNCj4gZHJtX3hlX2VuZ2luZV9jbGFzc19pbnN0YW5jZSAqZWNp LA0KPiDCoAkJCQnCoMKgwqDCoMKgIHZvaWQgKmV4dHJhX2FyZ3MpOw0KPiDCoA0KPiArc3RhdGlj IHZvaWQgZ3B1X2xhdGVuY3lfdGVzdF93cmFwcGVyKHN0cnVjdCB4ZV9zdm1fZ3B1X2luZm8gKnNy YywNCj4gKwkJCQnCoMKgwqDCoCBzdHJ1Y3QgeGVfc3ZtX2dwdV9pbmZvICpkc3QsDQo+ICsJCQkJ wqDCoMKgwqAgc3RydWN0DQo+IGRybV94ZV9lbmdpbmVfY2xhc3NfaW5zdGFuY2UgKmVjaSwNCj4g KwkJCQnCoMKgwqDCoCB2b2lkICpleHRyYV9hcmdzKTsNCj4gKw0KPiDCoHN0YXRpYyB2b2lkDQo+ IMKgY3JlYXRlX3ZtX2FuZF9xdWV1ZShzdHJ1Y3QgeGVfc3ZtX2dwdV9pbmZvICpncHUsIHN0cnVj dA0KPiBkcm1feGVfZW5naW5lX2NsYXNzX2luc3RhbmNlICplY2ksDQo+IMKgCQnCoMKgwqAgdWlu dDMyX3QgKnZtLCB1aW50MzJfdCAqZXhlY19xdWV1ZSkNCj4gQEAgLTE5Nyw2ICsyMDksMTEgQEAg c3RhdGljIHZvaWQgZm9yX2VhY2hfZ3B1X3BhaXIoaW50IG51bV9ncHVzLA0KPiBzdHJ1Y3QgeGVf c3ZtX2dwdV9pbmZvICpncHVzLA0KPiDCoA0KPiDCoHN0YXRpYyB2b2lkIG9wZW5fcGFnZW1hcHMo aW50IGZkLCBzdHJ1Y3QgeGVfc3ZtX2dwdV9pbmZvICppbmZvKTsNCj4gwqANCj4gK3N0YXRpYyBk b3VibGUgdGltZV9kaWZmKHN0cnVjdCB0aW1lc3BlYyAqc3RhcnQsIHN0cnVjdCB0aW1lc3BlYw0K PiAqZW5kKQ0KPiArew0KPiArwqDCoMKgIHJldHVybiAoZW5kLT50dl9zZWMgLSBzdGFydC0+dHZf c2VjKSArIChlbmQtPnR2X25zZWMgLSBzdGFydC0NCj4gPnR2X25zZWMpIC8gMWU5Ow0KPiArfQ0K PiArDQo+IMKgc3RhdGljIHZvaWQNCj4gwqBhdG9taWNfYmF0Y2hfaW5pdChpbnQgZmQsIHVpbnQz Ml90IHZtLCB1aW50NjRfdCBzcmNfYWRkciwNCj4gwqAJCcKgIHVpbnQzMl90ICpibywgdWludDY0 X3QgKmFkZHIpDQo+IEBAIC01NDksNiArNTY2LDE0NyBAQCBjb2hlcmVuY3lfdGVzdF9tdWx0aWdw dShzdHJ1Y3QgeGVfc3ZtX2dwdV9pbmZvDQo+ICpncHUwLA0KPiDCoAljbGVhbnVwX3ZtX2FuZF9x dWV1ZShncHUxLCB2bVsxXSwgZXhlY19xdWV1ZVsxXSk7DQo+IMKgfQ0KPiDCoA0KPiArc3RhdGlj IHZvaWQNCj4gK2xhdGVuY3lfdGVzdF9tdWx0aWdwdShzdHJ1Y3QgeGVfc3ZtX2dwdV9pbmZvICpn cHUwLA0KPiArCQnCoMKgwqDCoMKgIHN0cnVjdCB4ZV9zdm1fZ3B1X2luZm8gKmdwdTEsDQo+ICsJ CcKgwqDCoMKgwqAgc3RydWN0IGRybV94ZV9lbmdpbmVfY2xhc3NfaW5zdGFuY2UgKmVjaSwNCj4g KwkJwqDCoMKgwqDCoCBib29sIHJlbW90ZV9jb3B5LA0KPiArCQnCoMKgwqDCoMKgIGJvb2wgcHJl ZmV0Y2hfcmVxKQ0KPiArew0KPiArwqDCoMKgwqDCoMKgwqAgdWludDY0X3QgYWRkcjsNCj4gK8Kg wqDCoMKgwqDCoMKgIHVpbnQzMl90IHZtWzJdOw0KPiArwqDCoMKgwqDCoMKgwqAgdWludDMyX3Qg ZXhlY19xdWV1ZVsyXTsNCj4gK8KgwqDCoMKgwqDCoMKgIHVpbnQzMl90IGJhdGNoX2JvOw0KPiAr wqDCoMKgwqDCoMKgwqAgdWludDhfdCAqY29weV9kc3Q7DQo+ICvCoMKgwqDCoMKgwqDCoCB1aW50 NjRfdCBiYXRjaF9hZGRyOw0KPiArwqDCoMKgwqDCoMKgwqAgc3RydWN0IGRybV94ZV9zeW5jIHN5 bmMgPSB7fTsNCj4gK8KgwqDCoMKgwqDCoMKgIHZvbGF0aWxlIHVpbnQ2NF90ICpzeW5jX2FkZHI7 DQo+ICvCoMKgwqDCoMKgwqDCoCBpbnQgdmFsdWUgPSA2MDsNCj4gK8KgwqDCoMKgwqDCoMKgIGlu dCBzaGFyZWRfdmFsWzRdOw0KPiArwqDCoMKgwqDCoMKgwqAgc3RydWN0IHRlc3RfZXhlY19kYXRh ICpkYXRhOw0KPiArCXN0cnVjdCB0aW1lc3BlYyB0X3N0YXJ0LCB0X2VuZDsNCj4gKwlkb3VibGUg Y3B1X2xhdGVuY3ksIGdwdTFfbGF0ZW5jeSwgZ3B1Ml9sYXRlbmN5Ow0KPiArCWRvdWJsZSBjcHVf YncsIGdwdTFfYncsIGdwdTJfYnc7DQoNCkFsc28gaGVyZSwgaW5kZW50YXRpb24gbG9va3MgaW5j b25zaXN0ZW50IHRocm91Z2hvdXQgdGhlIGZ1bmN0aW9uLg0KDQo+ICsNCj4gKwljcmVhdGVfdm1f YW5kX3F1ZXVlKGdwdTAsIGVjaSwgJnZtWzBdLCAmZXhlY19xdWV1ZVswXSk7DQo+ICsJY3JlYXRl X3ZtX2FuZF9xdWV1ZShncHUxLCBlY2ksICZ2bVsxXSwgJmV4ZWNfcXVldWVbMV0pOw0KPiArDQo+ ICvCoMKgwqDCoMKgwqDCoCBkYXRhID0gYWxpZ25lZF9hbGxvYyhTWl8yTSwgU1pfNEspOw0KPiAr wqDCoMKgwqDCoMKgwqAgaWd0X2Fzc2VydChkYXRhKTsNCj4gK8KgwqDCoMKgwqDCoMKgIGRhdGFb MF0udm1fc3luYyA9IDA7DQo+ICvCoMKgwqDCoMKgwqDCoCBhZGRyID0gdG9fdXNlcl9wb2ludGVy KGRhdGEpOw0KPiArDQo+ICvCoMKgwqDCoMKgwqDCoCBjb3B5X2RzdCA9IGFsaWduZWRfYWxsb2Mo U1pfMk0sIFNaXzRLKTsNCj4gK8KgwqDCoMKgwqDCoMKgIGlndF9hc3NlcnQoY29weV9kc3QpOw0K PiArDQo+ICvCoMKgwqDCoMKgwqDCoCBzdG9yZV9kd29yZF9iYXRjaF9pbml0KGdwdTAtPmZkLCB2 bVswXSwgYWRkciwgJmJhdGNoX2JvLA0KPiAmYmF0Y2hfYWRkciwgdmFsdWUpOw0KPiArDQo+ICsJ LyogTWVhc3VyZSBHUFUwIGFjY2VzcyBsYXRlbmN5L2JhbmR3aWR0aCAqLw0KPiArCWNsb2NrX2dl dHRpbWUoQ0xPQ0tfTU9OT1RPTklDLCAmdF9zdGFydCk7DQo+ICsNCj4gK8KgwqDCoMKgwqDCoMKg IC8qIEdQVTAoc3JjX2dwdSkgYWNjZXNzICovDQo+ICsJeGVfbXVsdGlncHVfbWFkdmlzZShncHUw LT5mZCwgdm1bMF0sIGFkZHIsIFNaXzRLLCAwLA0KPiArCQkJwqDCoMKgIERSTV9YRV9NRU1fUkFO R0VfQVRUUl9QUkVGRVJSRURfTE9DLA0KPiArCQkJwqDCoMKgIGdwdTAtPmZkLCAwLCBncHUwLT52 cmFtX3JlZ2lvbnNbMF0sDQo+IGV4ZWNfcXVldWVbMF0sDQo+ICsJCQnCoMKgwqAgMCwgMCk7DQo+ ICsNCj4gKwlzZXR1cF9zeW5jKCZzeW5jLCAmc3luY19hZGRyLCBCSU5EX1NZTkNfVkFMKTsNCj4g Kwl4ZV9tdWx0aWdwdV9wcmVmZXRjaChncHUwLT5mZCwgdm1bMF0sIGFkZHIsIFNaXzRLLCAmc3lu YywNCj4gKwkJCcKgwqDCoMKgIHN5bmNfYWRkciwgZXhlY19xdWV1ZVswXSwNCj4gcHJlZmV0Y2hf cmVxKTsNCj4gKw0KPiArCWNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9OT1RPTklDLCAmdF9lbmQpOw0K DQpTbyBoZXJlIHdlIGFyZSBtZWFzdXJpbmcgdGhlIG1hZHZpc2UgYW5kIHByZWZldGNoIChpZiBh bnkpIGxhdGVuY3kNCm9ubHkuIElzIHRoYXQgaW50ZW50aW9uYWw/DQoNCj4gKwlncHUxX2xhdGVu Y3kgPSB0aW1lX2RpZmYoJnRfc3RhcnQsICZ0X2VuZCk7DQo+ICsJZ3B1MV9idyA9IENPUFlfU0la RSAvIGdwdTFfbGF0ZW5jeSAvICgxMDI0ICogMTAyNCk7IC8vIE1CL3MNCg0KQXJlbid0IHdlIGRv aW5nIGEgc2luZ2xlIGR3b3JkIHN0b3JlPyBXaHkgYXJlIHlvdSBjYWxjdWxhdGluZyBiYW5kd2lk dGgNCmJhc2VkIG9uIENPUFlfU0laRT8NCg0KPiArDQo+ICvCoMKgwqDCoMKgwqDCoCBzeW5jX2Fk ZHIgPSAodm9pZCAqKSgoY2hhciAqKWJhdGNoX2FkZHIgKyBTWl80Syk7DQo+ICvCoMKgwqDCoMKg wqDCoCBzeW5jLmFkZHIgPSB0b191c2VyX3BvaW50ZXIoKHVpbnQ2NF90ICopc3luY19hZGRyKTsN Cj4gK8KgwqDCoMKgwqDCoMKgIHN5bmMudGltZWxpbmVfdmFsdWUgPSBFWEVDX1NZTkNfVkFMOw0K PiArwqDCoMKgwqDCoMKgwqAgKnN5bmNfYWRkciA9IDA7DQo+ICsNCj4gK8KgwqDCoMKgwqDCoMKg IC8qIEV4ZWN1dGUgU1RPUkUgY29tbWFuZCBvbiBHUFUwICovDQo+ICvCoMKgwqDCoMKgwqDCoCB4 ZV9leGVjX3N5bmMoZ3B1MC0+ZmQsIGV4ZWNfcXVldWVbMF0sIGJhdGNoX2FkZHIsICZzeW5jLCAx KTsNCj4gK8KgwqDCoMKgwqDCoMKgIGlmICgqc3luY19hZGRyICE9IEVYRUNfU1lOQ19WQUwpDQo+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgeGVfd2FpdF91ZmVuY2UoZ3B1MC0+ZmQs ICh1aW50NjRfdCAqKXN5bmNfYWRkciwNCj4gRVhFQ19TWU5DX1ZBTCwgZXhlY19xdWV1ZVswXSwN Cj4gKwkJCcKgwqDCoMKgwqDCoCBOU0VDX1BFUl9TRUMgKiAxMCk7DQo+ICsNCg0KV2h5IGlzbid0 IHRoZSBHUFUgZXhlY3V0aW9uIGluY2x1ZGVkIGluIHRoZSB0aW1pbmc/DQoNCg0KPiArCW1lbWNw eShzaGFyZWRfdmFsLCAodm9pZCAqKWFkZHIsIDQpOw0KDQpJIHRoaW5rIEkgYXNrZWQgYWJvdXQg dGhpcyBhIGNvdXBsZSBvZiB0aW1lcyBiZWZvcmUsIGJ1dCB3aHkgYXJlIHlvdQ0KZG9pbmcgYSBt ZW1jcHkgdG8gInNoYXJlZF92YWwiIGhlcmU/DQoNCg0KPiArCWlndF9hc3NlcnRfZXEoc2hhcmVk X3ZhbFswXSwgdmFsdWUpOw0KPiArDQo+ICvCoMKgwqDCoMKgwqDCoCAvKiBDUFUgd3JpdGVzIDEw LCBtZW1zZXQgc2V0IGJ5dGVzIG5vIGludGVnZXIgaGVuY2UgbWVtc2V0DQo+IGZpbGxzIDQgYnl0 ZXMgd2l0aCAweDBBICovDQo+ICvCoMKgwqDCoMKgwqDCoCBtZW1zZXQoKHZvaWQgKikodWludHB0 cl90KWFkZHIsIDEwLCBzaXplb2YoaW50KSk7DQo+ICvCoMKgwqDCoMKgwqDCoCBtZW1jcHkoc2hh cmVkX3ZhbCwgKHZvaWQgKikodWludHB0cl90KWFkZHIsDQo+IHNpemVvZihzaGFyZWRfdmFsKSk7 DQo+ICvCoMKgwqDCoMKgwqDCoCBpZ3RfYXNzZXJ0X2VxKHNoYXJlZF92YWxbMF0sIDB4MEEwQTBB MEEpOw0KDQoNCkFuZCBoZXJlPyBBbHNvIHdoeSB0aGlzIGV4ZXJjaXNlIG9mIHNldHRpbmcgYWRk IHRvIDB4MGEwYTBhMGE/IGlzbid0DQp0aGlzIGEgcGVyZm9ybWFuY2UgLyBsYXRlbmN5IHRlc3Qu DQoNCj4gKw0KPiArCSoodWludDY0X3QgKilhZGRyID0gNTA7DQo+ICsNCj4gKwlpZihyZW1vdGVf Y29weSkgew0KPiArCQlpZ3RfaW5mbygiY3JlYXRpbmcgYmF0Y2ggZm9yIENPUFlfQ01EIG9uIEdQ VTFcbiIpOw0KPiArCQliYXRjaF9pbml0KGdwdTEtPmZkLCB2bVsxXSwgYWRkciwNCj4gdG9fdXNl cl9wb2ludGVyKGNvcHlfZHN0KSwNCj4gKwkJCcKgwqAgU1pfNEssICZiYXRjaF9ibywgJmJhdGNo X2FkZHIpOw0KPiArCX0gZWxzZSB7DQo+ICsJCWlndF9pbmZvKCJjcmVhdGluZyBiYXRjaCBmb3Ig U1RPUkVfQ01EIG9uIEdQVTFcbiIpOw0KPiArCQlzdG9yZV9kd29yZF9iYXRjaF9pbml0KGdwdTEt PmZkLCB2bVsxXSwgYWRkciwNCj4gJmJhdGNoX2JvLCAmYmF0Y2hfYWRkciwgdmFsdWUgKyAxMCk7 DQo+ICsJfQ0KPiArDQo+ICsJLyogTWVhc3VyZSBHUFUxIGFjY2VzcyBsYXRlbmN5L2JhbmR3aWR0 aCAqLw0KPiArCWNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9OT1RPTklDLCAmdF9zdGFydCk7DQoNCkhl cmUgd2UgYWxzbyBpbmNsdWRlIHRoZSBtYWR2aXNlLSBhbmQgcHJlZmV0Y2ggdGltaW5nLiBJcyB0 aGF0DQppbnRlbnRpb25hbC4NCg0KPiArDQo+ICvCoMKgwqDCoMKgwqDCoCAvKiBHUFUxKGRzdF9n cHUpIGFjY2VzcyAqLw0KPiArCXhlX211bHRpZ3B1X21hZHZpc2UoZ3B1MS0+ZmQsIHZtWzFdLCBh ZGRyLCBTWl80SywgMCwNCj4gKwkJCcKgwqDCoCBEUk1fWEVfTUVNX1JBTkdFX0FUVFJfUFJFRkVS UkVEX0xPQywNCj4gKwkJCcKgwqDCoCBncHUxLT5mZCwgMCwgZ3B1MS0+dnJhbV9yZWdpb25zWzBd LA0KPiBleGVjX3F1ZXVlWzFdLA0KPiArCQkJwqDCoMKgIDAsIDApOw0KDQpTZXR0aW5nIG1hZHZp c2UgdG8gZ3B1MSB3aWxsIG1pZ3JhdGUgdGhlIGRhdGEgdG8gZ3B1MSBhdCBwcmVmZXRjaCBvcg0K ZmF1bHQgdGltZT8gSXMgdGhhdCByZWFsbHkgd2hhdCdzIGludGVuZGVkPw0KDQo+ICsNCj4gKwlz ZXR1cF9zeW5jKCZzeW5jLCAmc3luY19hZGRyLCBCSU5EX1NZTkNfVkFMKTsNCj4gKwl4ZV9tdWx0 aWdwdV9wcmVmZXRjaChncHUxLT5mZCwgdm1bMV0sIGFkZHIsIFNaXzRLLCAmc3luYywNCj4gKwkJ CcKgwqDCoMKgIHN5bmNfYWRkciwgZXhlY19xdWV1ZVsxXSwNCj4gcHJlZmV0Y2hfcmVxKTsNCj4g Kw0KPiArCWNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9OT1RPTklDLCAmdF9lbmQpOw0KPiArCWdwdTJf bGF0ZW5jeSA9IHRpbWVfZGlmZigmdF9zdGFydCwgJnRfZW5kKTsNCj4gKwlncHUyX2J3ID0gQ09Q WV9TSVpFIC8gZ3B1Ml9sYXRlbmN5IC8gKDEwMjQgKiAxMDI0KTsgLy8gTUIvcw0KDQpTYW1lIGNv bW1lbnQgYXMgcHJldmlvc2x5LiBTaG91bGRuJ3Qgd2UgYmUgdGltaW5nIEdQVSBleGVjdXRpb24u IEFsc28NCkNPUFlfU0laRSBzZWVtcyB3cm9uZw0KDQo+ICsNCj4gK8KgwqDCoMKgwqDCoMKgIHN5 bmNfYWRkciA9ICh2b2lkICopKChjaGFyICopYmF0Y2hfYWRkciArIFNaXzRLKTsNCj4gK8KgwqDC oMKgwqDCoMKgIHN5bmMuYWRkciA9IHRvX3VzZXJfcG9pbnRlcigodWludDY0X3QgKilzeW5jX2Fk ZHIpOw0KPiArwqDCoMKgwqDCoMKgwqAgc3luYy50aW1lbGluZV92YWx1ZSA9IEVYRUNfU1lOQ19W QUw7DQo+ICvCoMKgwqDCoMKgwqDCoCAqc3luY19hZGRyID0gMDsNCj4gKw0KPiArwqDCoMKgwqDC oMKgwqAgLyogRXhlY3V0ZSBDT1BZL1NUT1JFIGNvbW1hbmQgb24gR1BVMSAqLw0KPiArwqDCoMKg wqDCoMKgwqAgeGVfZXhlY19zeW5jKGdwdTEtPmZkLCBleGVjX3F1ZXVlWzFdLCBiYXRjaF9hZGRy LCAmc3luYywgMSk7DQoNClNob3VsZG4ndCB0aGlzIGJlIGluY2x1ZGVkIGluIHRoZSB0aW1pbmc/ DQoNCj4gK8KgwqDCoMKgwqDCoMKgIGlmICgqc3luY19hZGRyICE9IEVYRUNfU1lOQ19WQUwpDQo+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgeGVfd2FpdF91ZmVuY2UoZ3B1MS0+ZmQs ICh1aW50NjRfdCAqKXN5bmNfYWRkciwNCj4gRVhFQ19TWU5DX1ZBTCwgZXhlY19xdWV1ZVsxXSwN Cj4gKwkJCcKgwqDCoMKgwqDCoCBOU0VDX1BFUl9TRUMgKiAxMCk7DQo+ICsNCj4gKwlpZiAoIXJl bW90ZV9jb3B5KQ0KPiArCQlpZ3RfYXNzZXJ0X2VxKCoodWludDY0X3QgKilhZGRyLCB2YWx1ZSAr IDEwKTsNCj4gKwllbHNlDQo+ICsJCWlndF9hc3NlcnRfZXEoKih1aW50NjRfdCAqKWNvcHlfZHN0 LCA1MCk7DQo+ICsNCj4gK8KgwqDCoMKgwqDCoMKgIC8qIENQVSB3cml0ZXMgMTEsIG1lbXNldCBz ZXQgYnl0ZXMgbm8gaW50ZWdlciBoZW5jZSBtZW1zZXQNCj4gZmlsbHMgNCBieXRlcyB3aXRoIDB4 MEIgKi8NCj4gKwkvKiBNZWFzdXJlIENQVSBhY2Nlc3MgbGF0ZW5jeS9iYW5kd2lkdGggKi8NCj4g KwljbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQywgJnRfc3RhcnQpOw0KPiArwqDCoMKgwqDC oMKgwqAgbWVtc2V0KCh2b2lkICopKHVpbnRwdHJfdClhZGRyLCAxMSwgc2l6ZW9mKGludCkpOw0K PiArwqDCoMKgwqDCoMKgwqAgbWVtY3B5KHNoYXJlZF92YWwsICh2b2lkICopKHVpbnRwdHJfdClh ZGRyLA0KPiBzaXplb2Yoc2hhcmVkX3ZhbCkpOw0KPiArCWNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9O T1RPTklDLCAmdF9lbmQpOw0KDQpJIGRvbid0IHRoaW5rIGl0J3MgbWVhbmluZ2Z1bCB0byBtZWFz dXJlIGEgc2luZ2xlIGR3b3JkIENQVSB3cml0ZSBhbmQNCnJlYWQgaW4gdGhpcyB3YXkuIEluIHRo ZW9yeSwgdGhlIENQVSBhY2Nlc3NlcyBtYXkgYWN0dWFsbHkgbmV2ZXIgcmVhY2gNCnBoeXNpY2Fs IG1lbW9yeS4gU3VnZ2VzdCBza2lwcGluZyB0aGUgQ1BVIHRpbWluZy4NCg0KPiArCWNwdV9sYXRl bmN5ID0gdGltZV9kaWZmKCZ0X3N0YXJ0LCAmdF9lbmQpOw0KPiArCWNwdV9idyA9IENPUFlfU0la RSAvIGNwdV9sYXRlbmN5IC8gKDEwMjQgKiAxMDI0KTsgLy8gTUIvcw0KPiArDQo+ICvCoMKgwqDC oMKgwqDCoCBpZ3RfYXNzZXJ0X2VxKHNoYXJlZF92YWxbMF0sIDB4MEIwQjBCMEIpOw0KPiArDQo+ ICsJLyogUHJpbnQgcmVzdWx0cyAqLw0KPiArCWlndF9pbmZvKCJDUFU6IExhdGVuY3kgJS42ZiBz LCBCYW5kd2lkdGggJS4yZiBNQi9zXG4iLA0KPiBjcHVfbGF0ZW5jeSwgY3B1X2J3KTsNCj4gKwlp Z3RfaW5mbygiR1BVOiBMYXRlbmN5ICUuNmYgcywgQmFuZHdpZHRoICUuMmYgTUIvc1xuIiwNCj4g Z3B1MV9sYXRlbmN5LCBncHUxX2J3KTsNCj4gKwlpZ3RfaW5mbygiR1BVOiBMYXRlbmN5ICUuNmYg cywgQmFuZHdpZHRoICUuMmYgTUIvc1xuIiwNCj4gZ3B1Ml9sYXRlbmN5LCBncHUyX2J3KTsNCj4g Kw0KPiArwqDCoMKgwqDCoMKgwqAgbXVubWFwKCh2b2lkICopYmF0Y2hfYWRkciwgQkFUQ0hfU0la RShncHUwLT5mZCkpOw0KPiArwqDCoMKgwqDCoMKgwqAgYmF0Y2hfZmluaShncHUwLT5mZCwgdm1b MF0sIGJhdGNoX2JvLCBiYXRjaF9hZGRyKTsNCj4gK8KgwqDCoMKgwqDCoMKgIGJhdGNoX2Zpbmko Z3B1MS0+ZmQsIHZtWzFdLCBiYXRjaF9ibywgYmF0Y2hfYWRkcik7DQo+ICvCoMKgwqDCoMKgwqDC oCBmcmVlKGRhdGEpOw0KPiArwqDCoMKgwqDCoMKgwqAgZnJlZShjb3B5X2RzdCk7DQo+ICsNCj4g KwljbGVhbnVwX3ZtX2FuZF9xdWV1ZShncHUwLCB2bVswXSwgZXhlY19xdWV1ZVswXSk7DQo+ICsJ Y2xlYW51cF92bV9hbmRfcXVldWUoZ3B1MSwgdm1bMV0sIGV4ZWNfcXVldWVbMV0pOw0KPiArfQ0K PiArDQo+IMKgc3RhdGljIHZvaWQNCj4gwqBhdG9taWNfaW5jX29wKHN0cnVjdCB4ZV9zdm1fZ3B1 X2luZm8gKmdwdTAsDQo+IMKgCcKgwqDCoMKgwqAgc3RydWN0IHhlX3N2bV9ncHVfaW5mbyAqZ3B1 MSwNCj4gQEAgLTY2MSw2ICs4MTksMTkgQEAgZ3B1X2NvaGVyZWN5X3Rlc3Rfd3JhcHBlcihzdHJ1 Y3QgeGVfc3ZtX2dwdV9pbmZvDQo+ICpzcmMsDQo+IMKgCWNvaGVyZW5jeV90ZXN0X211bHRpZ3B1 KHNyYywgZHN0LCBlY2ksIGFyZ3MtPm9wX21vZCwgYXJncy0NCj4gPnByZWZldGNoX3JlcSk7DQo+ IMKgfQ0KPiDCoA0KPiArc3RhdGljIHZvaWQNCj4gK2dwdV9sYXRlbmN5X3Rlc3Rfd3JhcHBlcihz dHJ1Y3QgeGVfc3ZtX2dwdV9pbmZvICpzcmMsDQo+ICsJCQkgc3RydWN0IHhlX3N2bV9ncHVfaW5m byAqZHN0LA0KPiArCQkJIHN0cnVjdCBkcm1feGVfZW5naW5lX2NsYXNzX2luc3RhbmNlICplY2ks DQo+ICsJCQkgdm9pZCAqZXh0cmFfYXJncykNCj4gK3sNCj4gKwlzdHJ1Y3QgbXVsdGlncHVfb3Bz X2FyZ3MgKmFyZ3MgPSAoc3RydWN0IG11bHRpZ3B1X29wc19hcmdzDQo+ICopZXh0cmFfYXJnczsN Cj4gKwlpZ3RfYXNzZXJ0KHNyYyk7DQo+ICsJaWd0X2Fzc2VydChkc3QpOw0KPiArDQo+ICsJbGF0 ZW5jeV90ZXN0X211bHRpZ3B1KHNyYywgZHN0LCBlY2ksIGFyZ3MtPm9wX21vZCwgYXJncy0NCj4g PnByZWZldGNoX3JlcSk7DQo+ICt9DQo+ICsNCj4gwqBpZ3RfbWFpbg0KPiDCoHsNCj4gwqAJc3Ry dWN0IHhlX3N2bV9ncHVfaW5mbyBncHVzW01BWF9YRV9HUFVTXTsNCj4gQEAgLTcxOCw2ICs4ODks MTYgQEAgaWd0X21haW4NCj4gwqAJCWZvcl9lYWNoX2dwdV9wYWlyKGdwdV9jbnQsIGdwdXMsICZl Y2ksDQo+IGdwdV9jb2hlcmVjeV90ZXN0X3dyYXBwZXIsICZjb2hfYXJncyk7DQo+IMKgCX0NCj4g wqANCj4gKwlpZ3Rfc3VidGVzdCgibGF0ZW5jeS1tdWx0aS1ncHUiKSB7DQo+ICsJCXN0cnVjdCBt dWx0aWdwdV9vcHNfYXJncyBsYXRlbmN5X2FyZ3M7DQo+ICsJCWxhdGVuY3lfYXJncy5wcmVmZXRj aF9yZXEgPSAxOw0KPiArCQlsYXRlbmN5X2FyZ3Mub3BfbW9kID0gMTsNCj4gKwkJZm9yX2VhY2hf Z3B1X3BhaXIoZ3B1X2NudCwgZ3B1cywgJmVjaSwNCj4gZ3B1X2xhdGVuY3lfdGVzdF93cmFwcGVy LCAmbGF0ZW5jeV9hcmdzKTsNCj4gKwkJbGF0ZW5jeV9hcmdzLnByZWZldGNoX3JlcSA9IDA7DQo+ ICsJCWxhdGVuY3lfYXJncy5vcF9tb2QgPSAwOw0KPiArCQlmb3JfZWFjaF9ncHVfcGFpcihncHVf Y250LCBncHVzLCAmZWNpLA0KPiBncHVfbGF0ZW5jeV90ZXN0X3dyYXBwZXIsICZsYXRlbmN5X2Fy Z3MpOw0KPiArCX0NCg0KU3VnZ2VzdCB1c2luZyBhIGZsYWcgdmFyaWFibGUgc2ltaWxhciB0byBv dGhlciB4ZSBpZ3RzLCBhcyBkaXNjdXNzZWQNCnByZXZpb3VzbHkuDQoNCi9UaG9tYXMNCg0KDQo+ ICsNCj4gwqAJaWd0X2ZpeHR1cmUgew0KPiDCoAkJaW50IGNudDsNCj4gwqANCg0K