From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id ahw/GnDU8GJisiIAWB0awg (envelope-from ) for ; Mon, 08 Aug 2022 05:16:32 -0400 Received: by simark.ca (Postfix, from userid 112) id 5C8AF1EA06; Mon, 8 Aug 2022 05:16:32 -0400 (EDT) Authentication-Results: simark.ca; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=j2imp23S; dkim-atps=neutral X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-3.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 8C51A1E745 for ; Mon, 8 Aug 2022 05:16:31 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D0FAE385735D for ; Mon, 8 Aug 2022 09:16:30 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D0FAE385735D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1659950190; bh=DSTRoKHh3NLFSLEIrr4gvsjtxHDsDJ2lVNdQvPPGbX8=; h=To:Subject:Date:References:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=j2imp23Spig++vTREzXMd+vCP1N2PcXtCE8uJ8Sb4qjTQkpbjRqC5x4bOLnD34VJT dbLR6mJywnHOrLtKLCPe3UT44MMS5ij1y1ApVLnyYpGj9YkPrVGb4IPcA7mOlaDVJ/ jqmYiCAS4PXpLkHT4ib0kCFRpK/vpH2A5KXay1HM= Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by sourceware.org (Postfix) with ESMTPS id 9B0BB3858285 for ; Mon, 8 Aug 2022 09:16:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9B0BB3858285 X-IronPort-AV: E=McAfee;i="6400,9594,10432"; a="291776659" X-IronPort-AV: E=Sophos;i="5.93,222,1654585200"; d="scan'208";a="291776659" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Aug 2022 02:16:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,222,1654585200"; d="scan'208";a="672408504" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga004.fm.intel.com with ESMTP; 08 Aug 2022 02:16:03 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Mon, 8 Aug 2022 02:16:02 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Mon, 8 Aug 2022 02:16:02 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) 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.28 via Frontend Transport; Mon, 8 Aug 2022 02:16:02 -0700 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (104.47.73.40) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.28; Mon, 8 Aug 2022 02:16:01 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=f1jsIh5vyHpmyX4vNFMVc/aO3dFbaXW5q9i+/ks2+ovuGkpX4iKrPfvTII5ZTTDT7JLvWCYih6vAUr6MjLiy+Mp36JYm0DD7rml7gy1OEz96qRcR4B1m9HQTecRQ1pSBXRn4w0S/B6FEWX6spAdqlNzO3DY4f+BgjmKY1aA+bmyuTJh02N1ayHDyMTiGU53tfJLzJx4PgjS44K382xKoXFtFdIntRr11sgLFooPZ2Y9ao3VEi7s/zZCsDXU9dQVUkvn4xWu796a/1geoRZ4RYhrKYT2epaxVdaF4eNfgyMRgDfWz2VfHJeJDFreAqzQXBJ+OlnNwY7CUC1WEuOx8DA== 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=sbb38d4z5vPF9rDZNr3XQ3YjH3UkXhePWTlkT4b+ASI=; b=YoLDrAz3PRMq1+tW1i6F7aN+HZ4V1m9KsE2iwnOFuKQWdZR9mRagMj2cLOKIgy4bkqgRRMUnQqZGSlpKKTN4Te5KkGhHbm8Jg0k1SN25m/4Dzn6jEx0DCaOnLxU07nLeQbY8JhRMCibwVYbwUEKF/3XaEbOuVZaD6dauLI6ZLxLiiTYLb0IsJtFpY44B0wrvTZ0YWF24vBxFHAk3VOWszrfM4Mt/BdvGAtgMZL3Z9JGgqUPYec+lldCHh06CXSg4rj8XSC8PIKy+4o18J5AJHj/bgCyHIauLr+Io61WGStZa68qV1zZVGdAfEAv+hT88u9wmB5h7aR0nV9cgvUcECQ== 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 MN2PR11MB4566.namprd11.prod.outlook.com (2603:10b6:208:24e::16) by DM6PR11MB2858.namprd11.prod.outlook.com (2603:10b6:5:bd::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Mon, 8 Aug 2022 09:15:59 +0000 Received: from MN2PR11MB4566.namprd11.prod.outlook.com ([fe80::60ce:74eb:a851:914c]) by MN2PR11MB4566.namprd11.prod.outlook.com ([fe80::60ce:74eb:a851:914c%6]) with mapi id 15.20.5504.020; Mon, 8 Aug 2022 09:15:59 +0000 To: Pedro Alves , "gdb-patches@sourceware.org" Subject: RE: [PATCH 2/4] gdb, gdbserver: Add AMX registers. Thread-Topic: [PATCH 2/4] gdb, gdbserver: Add AMX registers. Thread-Index: AQHYYUKe8CSex2bIlU2PtnV256l02q1j4EkAgAL9N9CAObt+kA== Date: Mon, 8 Aug 2022 09:15:59 +0000 Message-ID: References: <20220506121226.137608-1-felix.willgerodt@intel.com> <20220506121226.137608-3-felix.willgerodt@intel.com> <8059d2c0-9b9d-e420-fe95-bc4150dfa164@palves.net> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.500.17 dlp-reaction: no-action x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c731e812-dbde-4fae-e2ff-08da791e9bbd x-ms-traffictypediagnostic: DM6PR11MB2858:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: hTbAzo5Ks+ynKn5xM66H8w5TlY7pjzd5LpkjvPpGt+BF7cJgMsruQl+5MgT9egeQLL6q06FfcbiELTF8yiOSpRDaUoygHmbmYVI3jiNsHdmXRvBC7BOvCyVBbAlK/JC/0ywRy/6Xhtb58JQsz23T/NeqMRP4qvjxiWtVB8J0VIXXZ8LgXgwfk73O76S5sHcBbTYg3gJbrQloYnXTk+M7kMc2QAO5AN1yA7KMeaRByvadohtc8UrBbDn0AcTUvFph7GZA0AmnJaPpWAE/UWjLEWMJiMouBSBKcTOMVgf2HH2awXv2if6atxG+DAF9afrdR57blevYb5KqLTH42UMjZBtN4ueYtLDvbZmNfSrVPvZZLgdq7gDdUFLB1W4lsb0Gt6cQnfgKdgKjrr8tfKkQkiw7Yizoh6+PLHKZxoze+bNjKCdfD83LFpaU2zVnlBUJSx6nCfWdbER0qcHKrv8B6at2uOMCSMYmtsh1EXq6O6HFtUShfftNarjgqG+bbR0hqRlnpWXMnzEEcHgYwmTAQTXkl+89YreFbpe3lSo6mT2Kd/XtZorQBesqwGN34CBvHGWNlKzOkCig3N9qe64Tj//YOaQw1TVOkNsmYbSOkSZ7qAzraTPsLzX9QqZZCkW5rnBJi1fMMdl3FfohtNNZuAVe109LZ2DpO4tD6+CrIxsMAOsd+O33ssJrClvZV5X3/7g8SnAQ4lmGgDG2e8+47BPTlTs3ZV+DgvEJzpRX06cQGat5wKoDFoo7nKfcck6FSGkSeOvFnOWjBdtcf9jA0/TJ84qfrrT4tvA+rF6JyKwyIIHOJiJqRDfCeozX9GaC x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB4566.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(136003)(346002)(39860400002)(366004)(396003)(376002)(2906002)(53546011)(26005)(316002)(186003)(71200400001)(41300700001)(7696005)(9686003)(6506007)(83380400001)(110136005)(86362001)(33656002)(66556008)(8936002)(82960400001)(66946007)(122000001)(76116006)(66476007)(52536014)(5660300002)(66446008)(55016003)(478600001)(64756008)(8676002)(38100700002)(38070700005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?S1dJWGw2cTI5SnQxNStXZDEyelBlK3FmYlBhRUNYcHNVMnNFdkVtVUxNMVdI?= =?utf-8?B?MVdnSmZkb2w0UGdONUpGUTlqNUo3OXk5V011bUNZdzNJeFViM3k4YTdnWDJi?= =?utf-8?B?aG0yVE1leU9IRGtaQStaMzhBblJMSS8wUjFOYlRQY0lQd1AxNnpXejVQM01m?= =?utf-8?B?cFFEeUlkVmIvSDBpaENzWUVBbmhTeGl6OXhlekNJSXpnaVUwaXUxWi9TVWZo?= =?utf-8?B?VElKSktvR0tQcWYwN01UeHozVEFub2JYSkFPODZjVmw3SGtEck9jUVdXQnVD?= =?utf-8?B?UzdBMEZMS002MDlXN1NhVjZCUWNRQ21LYjBXSjAzMFRXVFNFTmlBQkRQOTVr?= =?utf-8?B?bWllenk0dDBBZEF2ejZYZmVhTjhlWGtjMFJ4OTVWTSs5MDl3Y1NiUGFta0JV?= =?utf-8?B?dnUxUjhaTXdDZGhMVllPYk5sQXVDeU1idHlqRGR4cE5UTHJ6a1ljYndVeDdR?= =?utf-8?B?RWR2SEE3blRCTlFSb05ZbXpxT3NPYWdPVXFvR0NRU2dvbGlkM1VKYTk3azFm?= =?utf-8?B?SGcyOTRTL2dvUmN5SDVFajhOREh4czI4ZWZtdzRIZXA1RmFaQS9mUVYrRmpo?= =?utf-8?B?WFlYRnJQL2M1VWRSRkNqSU1tMkhwaFlSMjFwMVo4aG0veTkrTEp1aC9yOCsw?= =?utf-8?B?eTIrVkRwdGN6bmtJZEVvZnYrUHgrOC8rL2orZnJyNFA4MVI2VU42RmV6NFJX?= =?utf-8?B?aHJjdGJJUkhRc2Q4VkphRmFaYXhraFEvQy9SaGRmYXo4OUxhVzd4Z3hrbWY0?= =?utf-8?B?bDNId3RyOGlaamJhK3dpNzdoc09QSnV2OGJtU1RMRUJRWUpXeEVSVGJ3Ulp0?= =?utf-8?B?dTFFQTFhVHU0cFJxNHVTQXNlVkFzekJucEMwQ3g1VlgrWHFPNHg4Mk5Zd2Uz?= =?utf-8?B?dWkzRGdVSDFWelRpV1lORmk3aGxoTGZFZ2dJa1QvT2YrcksyTldneStlMkJp?= =?utf-8?B?UW1xWjROVVlLRXBSd3VQSEVFVENIZ1NVR0orcTRHYmtKWDF0clQzY29WaFZt?= =?utf-8?B?aUV0c0h3OVZnb2dSV2Vjem5vYUp2WEp4SlduZjg2OFdxNFFCa0RoaFJueUt4?= =?utf-8?B?NE5OTENqY0NqY0dPa1AyYkkxZ2hyeXUvNkJSb055N0JEckhxK3pEdi9heDY5?= =?utf-8?B?YW16K2dUYTdSWkgzTU5mT3VyM0NVR3FTSDdUMDhRSEk2bm5JZ1pJbldtMmhx?= =?utf-8?B?VjM2Y080YWNJZE1EdEc4b2wvNG1ydVZWTmVJNjR1WFFMeldCMGdVQVZ5SHVn?= =?utf-8?B?dk5nNEJTeGJHdDFTOXZFM1VUbythKzVrRDNzV3lmTG5FSS9kNTJIcmxDWElh?= =?utf-8?B?N3E1b2paTlVUbFlSS0ExdzV1RENadGVHaHRURUZVYmdVL2txV0dMU2l6MzQ2?= =?utf-8?B?eDRFcU45MUt4VkdVcURhc3Y5TkdzazA3b2lOVnhKV1dKTXprSDFXZmwvSjVq?= =?utf-8?B?ZGZ0KzV3c2o4R0Mya3RaSysxNzdXNmxvNmtmZVVRL0FIU1RTQlJHSHNtZDds?= =?utf-8?B?RzA1ZjUvSXZPSWVxN3JOY3g1MFhNQWp5TmJpcHh2YUtaS0hTVHFGeHVwQkZQ?= =?utf-8?B?blpHaE5DYzNuV1ZuYUZPWGlsUlROdTdSc2o2TkcrZFZVSUVyK2tBZ01tbkVU?= =?utf-8?B?RU1UMGVKN2hsL0xKbUlmWXIxbXdDUyt3M0ZYMks3Wi9mRXJLQ1pjcnlwSnRH?= =?utf-8?B?L243WG5LZkd0MDdGY21uVlVDTlI1Mzh0ZWZhSzZocE4wckpjSnJXVzFOM1M0?= =?utf-8?B?WmZ5V1hXdWpNRmR1QnZ4VERXZ3VtcGtoUmJna0laREk1UWpCMG1NR2NMM0dN?= =?utf-8?B?ZzdHd0RhcUZKRnBsd1JwWCtWaE5SMzYzVnNTT3pOd1VSbjF6VmNvZzJ5WStT?= =?utf-8?B?NnVUOGZzcUR5eHNyY28wSm9sQ3BTenNkRUlJSFlDdmdKWUhQMktqY1cxN2s2?= =?utf-8?B?ZDNsWmNGRlgxY0NpL2oxbEsyVWE0MHpjQ21kMHhPWHdMYUVjdExra0plWlVS?= =?utf-8?B?d0c2UDBOYnQ1RzRvcldJVzdwWnF0N2pQMWJIS3pRQ3pRWDRlOWpkdEJRb0xY?= =?utf-8?B?VzNGMEx0YXViWnhWYlZTRzFvNmozR01yWVpvc3VqQ1dZbDduVWR5bTdMdjVK?= =?utf-8?B?dmgzS2NTTjNncWpYK2xRYUJsbGRGTG13RnN5bGZPUU1DREM2MFBLdDBEay9q?= =?utf-8?B?akE9PQ==?= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB4566.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c731e812-dbde-4fae-e2ff-08da791e9bbd X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Aug 2022 09:15:59.4770 (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: mcuNEIs7oanLfbdO0sIuPWFNu2Dc42PnAmW6W3xFUfKkaa+H4yUAJZxZSH7LGvhhQ0PIlaHkBPMmRLsrKrWMaUlVcVQKFUfz2GsYD6vaOrs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB2858 X-OriginatorOrg: intel.com Content-Transfer-Encoding: base64 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: "Willgerodt, Felix via Gdb-patches" Reply-To: "Willgerodt, Felix" Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org Sender: "Gdb-patches" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBXaWxsZ2Vyb2R0LCBGZWxpeA0K PiBTZW50OiBEb25uZXJzdGFnLCAxNC4gSnVsaSAyMDIyIDEyOjU1DQo+IFRvOiBQZWRybyBBbHZl cyA8cGVkcm9AcGFsdmVzLm5ldD47IGdkYi1wYXRjaGVzQHNvdXJjZXdhcmUub3JnDQo+IFN1Ympl Y3Q6IFJFOiBbUEFUQ0ggMi80XSBnZGIsIGdkYnNlcnZlcjogQWRkIEFNWCByZWdpc3RlcnMuDQo+ IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogUGVkcm8gQWx2ZXMg PHBlZHJvQHBhbHZlcy5uZXQ+DQo+ID4gU2VudDogTW9udGFnLCAyNy4gSnVuaSAyMDIyIDIwOjEy DQo+ID4gVG86IFdpbGxnZXJvZHQsIEZlbGl4IDxmZWxpeC53aWxsZ2Vyb2R0QGludGVsLmNvbT47 IGdkYi0NCj4gPiBwYXRjaGVzQHNvdXJjZXdhcmUub3JnDQo+ID4gU3ViamVjdDogUmU6IFtQQVRD SCAyLzRdIGdkYiwgZ2Ric2VydmVyOiBBZGQgQU1YIHJlZ2lzdGVycy4NCj4gPg0KPiA+IEhpIEZl bGl4LA0KPiA+DQo+ID4gVGhpcyBsYXJnZWx5IGxvb2tzIGdvb2QgdG8gbWUsIHRob3VnaCBJIGhh dmUgYSBjb3VwbGUgcXVlc3Rpb25zLiAgU2VlDQo+IGJlbG93Lg0KPiA+DQo+IA0KPiBIaSBQZWRy bywNCj4gDQo+IFRoYW5rcyBmb3IgeW91ciByZXZpZXcuIFNvcnJ5IGZvciB0YWtpbmcgc28gbG9u ZyB0byByZXBseSwgc2VlIG15IGNvbW1lbnRzDQo+IGJlbG93Lg0KPiANCj4gPiBPbiAyMDIyLTA1 LTA2IDEzOjEyLCBGZWxpeCBXaWxsZ2Vyb2R0IHZpYSBHZGItcGF0Y2hlcyB3cm90ZToNCj4gPg0K PiA+ID4NCj4gPiA+ICsvKiBBIGhlbHBlciBmdW5jdGlvbiB0byByZS1zaXplIEFNWCBwc2V1ZG8g cmVnaXN0ZXJzIGR1cmluZyByZWFkcy4NCj4gQ29waWVzDQo+ID4gPiArICAgdGhlIGNvbnRlbnRz IGZyb20gUkFXX0JVRiB0byBCVUYgYW5kIHJlLXNpemVzIHRoZSB2YWx1ZS4gICovDQo+ID4NCj4g PiBJIHRoaW5rIHRoaXMgc2hvdWxkIHNheSB3aGF0IGRvZXMgaXQgbWVhbiB3aGVuIFRJTEVDRkcg aXMgTlVMTC4NCj4gDQo+IFRoZSBuZXh0IHZlcnNpb24gd2lsbCBhZGQgYSBzZW50ZW5jZS4NCj4g DQo+ID4gPiArDQo+ID4gPiArc3RhdGljIHZvaWQNCj4gPiA+ICthbWQ2NF90bW1fcmVzaXplX3Jl YWQgKGNvbnN0IHRpbGVjZmdfcmVnICp0aWxlY2ZnLCBjb25zdCBnZGJfYnl0ZQ0KPiA+ICpyYXdf YnVmLA0KPiA+ID4gKwkJICAgICAgIGdkYl9ieXRlICpidWYsIHZhbHVlICpyZXN1bHRfdmFsdWUs IGNvbnN0IGludCB0bW1udW0pDQo+ID4gPiArew0KPiA+ID4gKyAgdWludDE2X3QgY29sdW1ucyA9 IDY0Ow0KPiA+ID4gKyAgdWludDhfdCByb3dzID0gMTY7DQo+ID4gPiArDQo+ID4gPiArICBpZiAo dGlsZWNmZyAhPSBudWxscHRyKQ0KPiA+ID4gKyAgICB7DQo+ID4gPiArICAgICAgY29sdW1ucyA9 IHRpbGVjZmctPmJ5dGVzX3Blcl9yb3cgKHRtbW51bSk7DQo+ID4gPiArICAgICAgcm93cyA9IHRp bGVjZmctPnJvd3MgKHRtbW51bSk7DQo+ID4gPiArICAgICAgaWYgKGNvbHVtbnMgPT0gMCkNCj4g PiA+ICsJY29sdW1ucyA9IDY0Ow0KPiA+ID4gKyAgICAgIGlmIChyb3dzID09IDApDQo+ID4gPiAr CXJvd3MgPSAxNjsNCj4gPiA+ICsgICAgfQ0KPiA+ID4gKw0KPiA+ID4gKyAgZ2RiX2Fzc2VydCAo VFlQRV9MRU5HVEggKHZhbHVlX3R5cGUgKHJlc3VsdF92YWx1ZSkpID49IHJvd3MgKg0KPiA+IGNv bHVtbnMpOw0KPiA+ID4gKw0KPiA+ID4gKyAgLyogQ29weSBlYWNoIHJvdyBmcm9tIHJhd19idWYg aW50byBidWYuICBUaGUgcm93cyBhcmUgbm90DQo+IGNvbnNlY3V0aXZlDQo+ID4gPiArICAgICBi dXQgdGhleSBhcmUgb24gTUFYX0JZVEVTX1BFUl9ST1cgKiBpUm93IHBvc2l0aW9uLiAgKi8NCj4g PiA+ICsgIGNvbnN0IGdkYl9ieXRlICpyYXdfYnVmX29mZnNldA0KPiA+ID4gKyAgICA9IHJhd19i dWYgKyB0bW1udW0gKiB0aWxlY2ZnLT5NQVhfQllURVNfUEVSX1RJTEU7DQo+ID4gPiArICBmb3Ig KHVpbnQ4X3QgaVJvdyA9IDA7IGlSb3cgPCByb3dzOyArK2lSb3cpDQo+ID4gPiArICAgIHsNCj4g PiA+ICsgICAgICBtZW1jcHkgKGJ1ZiArIGNvbHVtbnMgKiBpUm93LA0KPiA+ID4gKwkgICAgICBy YXdfYnVmX29mZnNldCArIHRpbGVjZmctPk1BWF9CWVRFU19QRVJfUk9XICogaVJvdywNCj4gPiA+ ICsJICAgICAgY29sdW1ucyk7DQo+ID4gPiArICAgIH0NCj4gPiA+ICsNCj4gPiA+ICsgIC8qIEFk anVzdCB0aGUgcmVzdWx0X3ZhbHVlLiAgVGhlIHZhbHVlIGlzIGEgdW5pb24gb2YgbWF0cmljZXMg b2YgZGlmZmVyZW50DQo+ID4gPiArICAgICB0eXBlcy4gIFNlZSBpMzg2X3RtbV90eXBlICgpLiAg VGhpcyBpdGVyYXRlcyBvdmVyIGVhY2ggbWVtYmVyIGFuZA0KPiA+ID4gKyAgICAgYWRqdXN0cyB0 aGUgZGltZW5zaW9ucyBhY2NvcmRpbmcgdG8gdGhlIHR5cGUuICAqLw0KPiA+ID4gKyAgZm9yIChp bnQgaSA9IDA7IGkgPCB2YWx1ZV90eXBlIChyZXN1bHRfdmFsdWUpLT5udW1fZmllbGRzICgpOyAr K2kpDQo+ID4gPiArICAgIHsNCj4gPiA+ICsgICAgICB0eXBlICpyb3dzX3R5cGUgPSB2YWx1ZV90 eXBlIChyZXN1bHRfdmFsdWUpLT5maWVsZHMgKClbaV0ubV90eXBlOw0KPiA+ID4gKyAgICAgIHR5 cGUgKmNvbHNfdHlwZSA9IHJvd3NfdHlwZS0+bWFpbl90eXBlLT50YXJnZXRfdHlwZTsNCj4gPiA+ ICsNCj4gPiA+ICsgICAgICAvKiBBZGp1c3QgYXJyYXkgYml0IGxlbmd0aHMuICAqLw0KPiA+ID4g KyAgICAgIHJvd3NfdHlwZS0+bGVuZ3RoID0gY29sdW1ucyAqIHJvd3M7DQo+ID4gPiArICAgICAg Y29sc190eXBlLT5sZW5ndGggPSBjb2x1bW5zOw0KPiA+ID4gKw0KPiA+ID4gKyAgICAgIC8qIEFk anVzdCBhcnJheSBkaW1lbnNpb25zLiAgKi8NCj4gPiA+ICsgICAgICByb3dzX3R5cGUtPmJvdW5k cyAoKS0+aGlnaC5zZXRfY29uc3RfdmFsIChyb3dzIC0gMSk7DQo+ID4gPiArICAgICAgaW50IG51 bV9ieXRlcyA9IGNvbHNfdHlwZS0+bWFpbl90eXBlLT50YXJnZXRfdHlwZS0+bGVuZ3RoOw0KPiA+ ID4gKyAgICAgIGNvbHNfdHlwZS0+Ym91bmRzICgpLT5oaWdoLnNldF9jb25zdF92YWwgKGNvbHVt bnMgLyBudW1fYnl0ZXMgLQ0KPiAxKTsNCj4gPg0KPiA+IERvZXMgYW55IG90aGVyIHRhcmdldCBk byBpbi1wbGFjZSB0eXBlIHJld3JpdGluZyBsaWtlIHRoaXM/DQo+IA0KPiBJIGFtIG5vdCBhd2Fy ZSBvZiBhbnlvbmUgZWxzZSB0aGF0IGhhcyBkb25lIHRoaXMgZXhhY3RseS4gQVJNIFNWRSBoYXMg dGhlDQo+IGVhc2llciBjYXNlIG9mIGhhdmluZyBvbmx5IGEgdmVjdG9yLCB0aGF0IHlvdSBjYW4g anVzdCBjdXQgb2ZmIG9yIGV4dGVuZCBhdCB0aGUNCj4gZW5kLg0KPiANCj4gDQo+ID4gIFRoYXQg c2VlbXMgZmlzaHkuDQo+ID4gV2hhdCBoYXBwZW5zIGUuZy4sDQo+ID4gdG8gdmFsdWVzIGFscmVh ZHkgaW4gdGhlIHZhbHVlIGhpc3RvcnkgdGhhdCB3ZXJlIHJlY29yZGVkIGJlZm9yZSB0aGUNCj4g PiBkaW1lbnNpb25zIGNoYW5nZWQsIGZvcg0KPiA+IGluc3RhbmNlPyAgV2lsbCB0aGV5IHN1ZGRl bmx5IHN0YXJ0IHJlLXByaW50aW5nIGRpZmZlcmVudGx5IC8gaW5jb3JyZWN0bHkgd2l0aA0KPiA+ IHRoZWlyIHR5cGUgY2hhbmdlZA0KPiA+IGJlaGluZCB0aGVpciBiYWNrPw0KPiA+DQo+ID4gTGlr ZToNCj4gPg0KPiA+ICAoZ2RiKSBwcmludCAkcmVnICAjIHNvbWUgcmVnaXN0ZXIgb3IgdmFsdWUg bWFwcGVkIHRvIGEgcmVnaXN0ZXIgdGhhdCB0aGF0DQo+IGVuZHMNCj4gPiB1cCBpbiB0aGUgZnVu Y3Rpb24gYWJvdmUNCj4gPiAgJDEgPSAuLi4gICMgYmVmb3JlIHR5cGUgY2hhbmdlcw0KPiA+ICAj IHNvbWV0aGluZyBoYXBwZW5zIGFuZCB0aGUgQU1YIHR5cGUgY2hhbmdlcy4NCj4gPiAgKGdkYikg cHJpbnQgJHJlZw0KPiA+ICAkMiA9IC4uLiAgIyByZWZsZWN0cyB0eXBlIGNoYW5nZQ0KPiA+ICAo Z2RiKSBwcmludCAkMQ0KPiA+ICAkMyA9IC4uLiAgIyB3aGF0IHR5cGUgZG9lcyBHREIgdXNlIGhl cmU/DQo+ID4NCj4gPiBEbyB0aGUgbmV3IHRlc3RzIGNvdmVyIHNvbWV0aGluZyBsaWtlIHRoaXMg YWxyZWFkeT8NCj4gDQo+IE5vIHRoZXkgZG9uJ3QgY292ZXIgdGhpcy4gQSB0aWxlY2ZnIGNoYW5n ZSBmbHVzaGVzIHRoZSB0bW0gcmVnaXN0ZXIgdGhvdWdoLg0KPiBXaGVuIEkgc2V0IHRoZSB0aWxl Y2ZnIG1hbnVhbGx5IGluIEdEQiwgaW5kZWVkICQxIGNoYW5nZXMgYXMgd2VsbC4NCj4gDQo+IAko Z2RiKSBwICR0bW0wLm1faW50OA0KPiAJJDEgPSB7ezUsIDUsIDUsIDUsIDYsIDYsIDYsIDZ9fQ0K PiAJKGdkYikgcCAkdGlsZWNmZy50aWxlMF9jb2xzYg0KPiAJJDIgPSA4DQo+IAkoZ2RiKSBwICR0 aWxlY2ZnLnRpbGUwX2NvbHNiID0gNA0KPiAJJDMgPSA0DQo+IAkoZ2RiKSBwICR0bW0wLm1faW50 OA0KPiAJJDUgPSB7ezUsIDUsIDUsIDV9fQ0KPiAJKGdkYikgcCAkMQ0KPiAJJDYgPSB7ezUsIDUs IDUsIDV9fQ0KPiANCj4gR29vZCBjYXRjaCwgSSBkaWRuJ3QgdGhpbmsgb2YgdGhpcy4gV2Ugc2hv dWxkIGZpeCB0aGF0Lg0KPiANCj4gPiBUaGlzIG1heSBsaWtld2lzZSBhZmZlY3QsIGUuZy4sIHdh dGNocG9pbnRzIGFuZCBkaXNwbGF5cy4NCj4gPg0KPiA+IEkgaGF2ZW4ndCB0cmFjZWQgdGhlIG5l dyBjb2RlIHRvIGNoZWNrIHdoZXJlIGRvIHRob3NlIHR5cGVzIG9yaWdpbmFsbHkNCj4gY29tZQ0K PiA+IGZyb20sIGJ1dCBtYXliZSBpdA0KPiA+IHdvdWxkIHdvcmsgdG8gcmV1c2UvZXh0ZW5kIHRo ZSB2bGEgc3VwcG9ydCB0byBtYWtlIHRob3NlIHR5cGVzIGhhdmUNCj4gPiBkeW5hbWljIGxlbmd0 aCBhbmQNCj4gPiBib3VuZHMgKFRZUEVfRFlOQU1JQ19MRU5HVEgsIERZTl9QUk9QX0JZVEVfU0la RSwgZXRjLikuDQo+IA0KPiBJIGhhdmUgbG9va2VkIGEgYml0IGF0IHRoZSBkeW5hbWljIGxlbmd0 aCBmb3IgdHlwZXMgbm93LCBidXQgdGhhdCBkb2Vzbid0DQo+IHNlZW0gdG8gYWNjb3VudCBmb3Ig ZGltZW5zaW9ucywganVzdCAoYnl0ZSkgbGVuZ3RoIG9yIHJhbmsuDQo+IE9yIGF0IGxlYXN0IEkg ZG9uJ3Qgc2VlIGhvdyB3ZSBjb3VsZCB1c2UgaXQgaGVyZS4NCj4gDQo+ID4gT3IgbWF5YmUganVz dCB0d2VhayB0aGVzZSBmdW5jdGlvbnMgc3VjaCB0aGF0IHlvdSBjcmVhdGUgYSBuZXcgdHlwZQ0K PiA+IGluc3RlYWQgb2YgY2hhbmdpbmcgdGhlDQo+ID4gb3JpZ2luYWwgdHlwZS4gIEkgZG9uJ3Qg a25vdyBob3cgZnJlcXVlbnRseSB0aGUgYXJyYXkgZGltZW50aW9ucyBjaGFuZ2UNCj4gYW5kDQo+ ID4gaG93IG9wZW4NCj4gPiBlbmRlZCB0aGUgZGltZW5zaW9ucyBhcmUsIGJ1dCBjYWNoaW5nIHRo ZSB0eXBlIGtleWVkIG9uIHJvdy9jb2wgc2l6ZXMNCj4gbWF5DQo+ID4gd29yayB3ZWxsIHRvDQo+ ID4gc3BhcmUgY3JlYXRpbmcgdG9vIG1hbnkgdHlwZXMsIG9yIGFjdHVhbGx5IGNyZWF0aW5nIHRo ZW0gYWxsIHRoZSB0aW1lLg0KPiANCj4gSSB0cmllZCBpbXBsZW1lbnRpbmcgdGhpcyBhcHByb2Fj aCBhIHdoaWxlIGFnbyAod2l0aG91dCBhbnkgdHlwZSBjYWNoaW5nKS4NCj4gSGF2aW5nIGEgaTM4 Nl90bW1fdHlwZSgpIGFjY2VwdCBkaW1lbnNpb25zLCBjcmVhdGluZyB0aGUgdHlwZSBkaXJlY3Rs eS4NCj4gQW5kIHJldHVybmluZyB0aGF0IGluc3RlYWQgb2YgdGhlIG1hbnVhbCByZXNpemUuDQo+ IFRoZSBwcm9ibGVtIHdhcyB0aGF0IGluIHZhbHVlLmM6dmFsdWVfZmV0Y2hfbGF6eV9yZWdpc3Rl cigpLCBnZGIganVzdA0KPiBjb3BpZXMgdGhlIGNvbnRlbnRzIG9mIE5FV19WQUwgdG8gVkFMLCBh c3N1bWluZyB0aGUgc2FtZQ0KPiB0eXBlL2xlbmd0aC9kaW1lbnNpb25zLiBUaGUgIm9sZCIgVkFM IGNvbWVzIGZyb20NCj4gZmluZHZhci5jOnZhbHVlX29mX3JlZ2lzdGVyX2xhenkoKSwgd2hlcmUg aXQgaXMgZmV0Y2hlZCB1c2luZw0KPiByZWdjYWNoZS5jOnJlZ2lzdGVyX3R5cGUoKS4NCj4gV2hp Y2ggbG9va3MgYXQgcmVnY2FjaGVfZGVzY3ItPnJlZ2lzdGVyX3R5cGUuDQo+IEluIHJlZ2NhY2hl LmMsIEkgc2VlIHRoaXMgb2xkIGNvbW1lbnQ6DQo+IA0KPiAgIC8qIExheSBvdXQgdGhlIHJlZ2lz dGVyIGNhY2hlLg0KPiANCj4gICAgICBOT1RFOiBjYWduZXkvMjAwMi0wNS0yMjogT25seSByZWdp c3Rlcl90eXBlICgpIGlzIHVzZWQgd2hlbg0KPiAgICAgIGNvbnN0cnVjdGluZyB0aGUgcmVnaXN0 ZXIgY2FjaGUuICBJdCBpcyBhc3N1bWVkIHRoYXQgdGhlDQo+ICAgICAgcmVnaXN0ZXIncyByYXcg c2l6ZSwgdmlydHVhbCBzaXplIGFuZCB0eXBlIGxlbmd0aCBhcmUgYWxsIHRoZQ0KPiAgICAgIHNh bWUuICAqLw0KPiANCj4gKFdoYXQgZXZlbiBpcyBhIHZpcnR1YWwgc2l6ZT8pDQo+IA0KPiBJIHN0 cnVnZ2xlIHRvIGZpZ3VyZSBvdXQgaG93IHRvIGJlc3QgYWRkcmVzcyB0aGlzLg0KPiBNYXliZSBh bGxvd2luZyBmb3IgbXVsdGlwbGUgZW50cmllcyBwZXIgcmVnaXN0ZXIgaW4gdGhlIHJlZ2lzdGVy X3R5cGUgdGFibGUgaW4NCj4gcmVnY2FjaGU/DQo+IE5vdCBzdXJlIGhvdyBtdWNoIGVmZm9ydCB0 aGF0IGlzIG9yIGlmIHRoZXJlIGFyZSBhbnkgb3RoZXIgaW1wbGljYXRpb25zLg0KPiANCj4gT3Ig SSBjb3VsZCBjYWxsIGdkYmFyY2hfcmVnaXN0ZXJfdHlwZSBpbiByZWdjYWNoZS5jOnJlZ2lzdGVy X3R5cGUoKSBhZ2Fpbj8NCj4gTWF5YmUgb25seSBjb25kaXRpb25hbGx5LCBpZiB0aGUgcmVnaXN0 ZXJfdHlwZSB3YXMgbWFya2VkIHdpdGggYSBkeW5hbWljDQo+IHByb3BlcnR5Pw0KPiBJbmRpY2F0 aW5nIHRoYXQgaXQgY2FuIGNoYW5nZSBhdCBydW50aW1lIGFuZCBvbmx5IHRoZSBhcmNoIGNhbiBm aWd1cmUgaXQgb3V0Lg0KPiBCdXQgd291bGQgdGhhdCBldmVuIHNvbHZlIHRoZSAiJDEgaXNzdWUi Pw0KPiANCj4gSSBhbSByZWFsbHkgaGFwcHkgYWJvdXQgYW55IHBvaW50ZXJzLg0KDQoNCkhpIFBl ZHJvLA0KDQpEaWQgeW91IGdldCBhIGNoYW5jZSB0byBsb29rIGF0IHRoaXMgYWdhaW4/IEkgZGlk IGZpbmQgYSBmaXggZm9yIHRoZQ0KaXNzdWUgeW91IHBvaW50ZWQgb3V0LiBCdXQgSSBhbSBub3Qg c3VyZSBpZiBteSBhcHByb2FjaCBpcyByaWdodC4NCg0KQmFzaWNhbGx5IG15IGZpeCBhdm9pZHMg dXNpbmcgdGhlIHR5cGUgY2FjaGluZyBmb3Igc29tZSBwc2V1ZG8gcmVnczoNCg0KLS0tIGEvZ2Ri L3JlZ2NhY2hlLmMNCisrKyBiL2dkYi9yZWdjYWNoZS5jDQpAQCAtMTYwLDcgKzE2MCwxNCBAQCBy ZWdpc3Rlcl90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgaW50IHJlZ251bSkNCiAgIHN0 cnVjdCByZWdjYWNoZV9kZXNjciAqZGVzY3IgPSByZWdjYWNoZV9kZXNjciAoZ2RiYXJjaCk7DQog DQogICBnZGJfYXNzZXJ0IChyZWdudW0gPj0gMCAmJiByZWdudW0gPCBkZXNjci0+bnJfY29va2Vk X3JlZ2lzdGVycyk7DQotICByZXR1cm4gZGVzY3ItPnJlZ2lzdGVyX3R5cGVbcmVnbnVtXTsNCisN CisgIC8qIFNvbWUgYXJjaGl0ZWN0dXJlcyBoYXZlIHZhcmlhYmxlIGxlbmd0aCB2ZWN0b3IgcHNl dWRvIHJlZ2lzdGVycywNCisgICAgIHdob3NlIHR5cGUgbmVlZHMgdG8gYmUgcmUtZXZhbHVhdGVk IGF0IHJ1bnRpbWUuICAqLw0KKyAgc3RydWN0IHR5cGUgKnQgPSBkZXNjci0+cmVnaXN0ZXJfdHlw ZVtyZWdudW1dOw0KKyAgaWYgKGdkYmFyY2hfbnVtX3JlZ3MgKGdkYmFyY2gpIDwgcmVnbnVtICYm IHQtPmlzX3ZlY3RvciAoKSkNCisgICAgdCA9IGdkYmFyY2hfcmVnaXN0ZXJfdHlwZSAoZ2RiYXJj aCwgcmVnbnVtKTsNCisNCisgIHJldHVybiB0Ow0KIH0NCg0KSSB0cmllZCB0byBoYXZlIGl0IGxp a2UgdGhpcyBmaXJzdDoNCg0KKyAgaWYgKGdkYmFyY2hfbnVtX3JlZ3MgKGdkYmFyY2gpIDwgcmVn bnVtICYmIFRZUEVfRFlOQU1JQ19MRU5HVEgodCkpDQoNCkhvd2V2ZXIgYSBkeW5hbWljIHByb3Bl cnR5IG5lZWRzIHRvIGJlIG9iamZpbGUgb3duZWQgKHNlZQ0KZ2RidHlwZXMuYzphZGRfZHluX3By b3ApLiBXaGljaCBzZWVtcyB3cm9uZyBmb3IgcmVnaXN0ZXIgdHlwZXMuDQpUaGVuIGFnYWluLCBJ IGFtIG5vdCBzdXJlIGlmIGlzX3ZlY3RvcigpIHdvdWxkIGJlIGNvbnNpZGVyZWQgYW4gYWNjZXB0 YWJsZQ0KY29uZGl0aW9uLg0KDQpXb3VsZCB0aGlzIGFwcHJvYWNoIChkaXNhYmxpbmcgdHlwZSBj YWNoaW5nIGZvciBjZXJ0YWluIGNhc2VzKSBiZSBnb29kIGVub3VnaD8NCldpdGggdGhpcyBhcHBy b2FjaCBJIGNhbiBhdm9pZCB0aGUgIm9uLXRoZS1mbHkiIHR5cGUgcmVzaXppbmcgaW4gbXkgY3Vy cmVudCBwYXRjaGVzDQphbmQgZml4IHRoZSAkMSBwcm9ibGVtLg0KDQpUaGFua3MsDQpGZWxpeA0K DQoNCkludGVsIERldXRzY2hsYW5kIEdtYkgKUmVnaXN0ZXJlZCBBZGRyZXNzOiBBbSBDYW1wZW9u IDEwLCA4NTU3OSBOZXViaWJlcmcsIEdlcm1hbnkKVGVsOiArNDkgODkgOTkgODg1My0wLCB3d3cu aW50ZWwuZGUgPGh0dHA6Ly93d3cuaW50ZWwuZGU+Ck1hbmFnaW5nIERpcmVjdG9yczogQ2hyaXN0 aW4gRWlzZW5zY2htaWQsIFNoYXJvbiBIZWNrLCBUaWZmYW55IERvb24gU2lsdmEgIApDaGFpcnBl cnNvbiBvZiB0aGUgU3VwZXJ2aXNvcnkgQm9hcmQ6IE5pY29sZSBMYXUKUmVnaXN0ZXJlZCBPZmZp Y2U6IE11bmljaApDb21tZXJjaWFsIFJlZ2lzdGVyOiBBbXRzZ2VyaWNodCBNdWVuY2hlbiBIUkIg MTg2OTI4Cg==