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 2F327E706F4 for ; Thu, 21 Sep 2023 08:57:54 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E0B5110E591; Thu, 21 Sep 2023 08:57:53 +0000 (UTC) Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id C02DE10E58F for ; Thu, 21 Sep 2023 08:57:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1695286671; x=1726822671; h=message-id:subject:from:to:date:in-reply-to:references: content-transfer-encoding:mime-version; bh=pvVztp4DgXrKqXrzntv/6pTdWm85J51LJsXDsGc94CM=; b=LSwK5uCWylZBclkN9Y2sce+a3ap3OJmTMq0JbyGvC8TaA9pd264/gEih vi+iaL5/SPtatl2TTrrsHIxQVTl9naPCTdf4eMVjPVWpp2SUlCI+SaVY6 G4S0vClYuS8s/UgZtgpvDyLR9cHOkICMruhAHX1v0DvXIw6sHcPAWeVCH Zre8tz1RdViw1zDS2gWhjIhDCZWCZteEFxQIhura/u17MQGldob1acbJg mpOCr2OYdK+DMKJp6KFrfy2zPh5ygHKlwK/sJ4MHR6W1DcjTvTXMcBnng p7LzUzGEhlDFn5Nebl4TjtzNJwwB7aXVgTrsGQ3m4KTuduUGtEA2cZ6Bi w==; X-IronPort-AV: E=McAfee;i="6600,9927,10839"; a="370778307" X-IronPort-AV: E=Sophos;i="6.03,165,1694761200"; d="scan'208";a="370778307" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Sep 2023 01:57:51 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10839"; a="994001216" X-IronPort-AV: E=Sophos;i="6.03,165,1694761200"; d="scan'208";a="994001216" Received: from kinstrum-mobl.ger.corp.intel.com (HELO [10.249.254.152]) ([10.249.254.152]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Sep 2023 01:57:49 -0700 Message-ID: <0533b1228af70aa6582bc915de45e4cf43a365b6.camel@linux.intel.com> From: Thomas =?ISO-8859-1?Q?Hellstr=F6m?= To: Matthew Brost , intel-xe@lists.freedesktop.org Date: Thu, 21 Sep 2023 10:57:46 +0200 In-Reply-To: <20230914204053.2220281-3-matthew.brost@intel.com> References: <20230914204053.2220281-1-matthew.brost@intel.com> <20230914204053.2220281-3-matthew.brost@intel.com> Organization: Intel Sweden AB, Registration Number: 556189-6027 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) MIME-Version: 1.0 Subject: Re: [Intel-xe] [PATCH 2/6] drm/xe/uapi: Kill DRM_XE_UFENCE_WAIT_VM_ERROR X-BeenThere: intel-xe@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Xe graphics driver List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-xe-bounces@lists.freedesktop.org Sender: "Intel-xe" T24gVGh1LCAyMDIzLTA5LTE0IGF0IDEzOjQwIC0wNzAwLCBNYXR0aGV3IEJyb3N0IHdyb3RlOgo+ IFRoaXMgaXMgbm90IHVzZWQgbm9yIGRvZXMgaXQgYWxpZ24gVk0gYXN5bmMgZG9jdW1lbnQsIGtp bGwgdGhpcy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBNYXR0aGV3IEJyb3N0IDxtYXR0aGV3LmJyb3N0 QGludGVsLmNvbT4KClJldmlld2VkLWJ5OiBUaG9tYXMgSGVsbHN0csO2bSA8dGhvbWFzLmhlbGxz dHJvbUBsaW51eC5pbnRlbC5jb20+CgoKPiAtLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS94ZS94ZV92 bS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDMgLS0KPiDCoGRyaXZlcnMvZ3B1L2Ry bS94ZS94ZV92bV90eXBlcy5owqDCoMKgwqDCoMKgwqAgfCAxMSAtLS0tLS0tCj4gwqBkcml2ZXJz L2dwdS9kcm0veGUveGVfd2FpdF91c2VyX2ZlbmNlLmMgfCA0MyArKystLS0tLS0tLS0tLS0tLS0t LS0tLQo+IC0tCj4gwqBpbmNsdWRlL3VhcGkvZHJtL3hlX2RybS5owqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8IDE3ICsrKy0tLS0tLS0KPiDCoDQgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRp b25zKCspLCA2NSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3hlL3hlX3ZtLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfdm0uYwo+IGluZGV4IDJhNjkzMDIz MDRlMi4uZWExZjA4OTU0OWIxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV92 bS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3ZtLmMKPiBAQCAtMTQ1NSw5ICsxNDU1 LDYgQEAgdm9pZCB4ZV92bV9jbG9zZV9hbmRfcHV0KHN0cnVjdCB4ZV92bSAqdm0pCj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB4ZV92bWFfZGVzdHJveV91bmxvY2tlZCh2bWEpOwo+ IMKgwqDCoMKgwqDCoMKgwqB9Cj4gwqAKPiAtwqDCoMKgwqDCoMKgwqBpZiAodm0tPmFzeW5jX29w cy5lcnJvcl9jYXB0dXJlLmFkZHIpCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHdh a2VfdXBfYWxsKCZ2bS0+YXN5bmNfb3BzLmVycm9yX2NhcHR1cmUud3EpOwo+IC0KPiDCoMKgwqDC oMKgwqDCoMKgeGVfYXNzZXJ0KHhlLCBsaXN0X2VtcHR5KCZ2bS0+ZXh0b2JqLmxpc3QpKTsKPiDC oMKgwqDCoMKgwqDCoMKgdXBfd3JpdGUoJnZtLT5sb2NrKTsKPiDCoAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0veGUveGVfdm1fdHlwZXMuaAo+IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hl X3ZtX3R5cGVzLmgKPiBpbmRleCA1MmU1ZWFlZDkxYzMuLjNkYzNkYTEzODZjYiAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdm1fdHlwZXMuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS94ZS94ZV92bV90eXBlcy5oCj4gQEAgLTIyMiwxNyArMjIyLDYgQEAgc3RydWN0IHhlX3Zt IHsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB3b3JrX3N0cnVjdCB3 b3JrOwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLyoqIEBsb2NrOiBwcm90ZWN0 cyBsaXN0IG9mIHBlbmRpbmcgYXN5bmMgVk0gb3BzIGFuZAo+IGZlbmNlcyAqLwo+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgc3BpbmxvY2tfdCBsb2NrOwo+IC3CoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAvKiogQGVycm9yX2NhcHR1cmU6IGVycm9yIGNhcHR1cmUgc3RhdGUg Ki8KPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHsKPiAtwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC8qKiBAbW06IHVzZXIgTU0gKi8K PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBt bV9zdHJ1Y3QgKm1tOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgLyoqCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgKiBAYWRkcjogdXNlciBwb2ludGVyIHRvIGNvcHkgZXJyb3IgY2FwdHVyZQo+IHN0YXRlIHRv bwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICovCj4g LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB1NjQgYWRkcjsK PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC8qKiBAd3E6 IHVzZXIgZmVuY2Ugd2FpdCBxdWV1ZSBmb3IgVk0gZXJyb3JzCj4gKi8KPiAtwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHdhaXRfcXVldWVfaGVhZF90IHdxOwo+ IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9IGVycm9yX2NhcHR1cmU7Cj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAvKiogQGZlbmNlOiBmZW5jZSBzdGF0ZSAqLwo+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHsKPiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAvKiogQGNvbnRleHQ6IGNvbnRleHQgb2Yg YXN5bmMgZmVuY2UgKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dhaXRf dXNlcl9mZW5jZS5jCj4gYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfd2FpdF91c2VyX2ZlbmNlLmMK PiBpbmRleCA3NjFlZWQzYTAyMmYuLmI0N2U5NDY0YzExNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0veGUveGVfd2FpdF91c2VyX2ZlbmNlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v eGUveGVfd2FpdF91c2VyX2ZlbmNlLmMKPiBAQCAtMTMsNyArMTMsNiBAQAo+IMKgI2luY2x1ZGUg InhlX2RldmljZS5oIgo+IMKgI2luY2x1ZGUgInhlX2d0LmgiCj4gwqAjaW5jbHVkZSAieGVfbWFj cm9zLmgiCj4gLSNpbmNsdWRlICJ4ZV92bS5oIgo+IMKgCj4gwqBzdGF0aWMgaW50IGRvX2NvbXBh cmUodTY0IGFkZHIsIHU2NCB2YWx1ZSwgdTY0IG1hc2ssIHUxNiBvcCkKPiDCoHsKPiBAQCAtODEs OCArODAsNyBAQCBzdGF0aWMgaW50IGNoZWNrX2h3X2VuZ2luZXMoc3RydWN0IHhlX2RldmljZSAq eGUsCj4gwqB9Cj4gwqAKPiDCoCNkZWZpbmUgVkFMSURfRkxBR1PCoMKgwqDCoChEUk1fWEVfVUZF TkNFX1dBSVRfU09GVF9PUCB8IFwKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBEUk1fWEVfVUZFTkNFX1dBSVRfQUJTVElNRSB8IFwKPiAtwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBEUk1fWEVfVUZFTkNFX1dBSVRf Vk1fRVJST1IpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgRFJNX1hFX1VGRU5DRV9XQUlUX0FCU1RJTUUpCj4gwqAjZGVmaW5lIE1BWF9PUMKgwqDCoMKg wqDCoMKgwqDCoERSTV9YRV9VRkVOQ0VfV0FJVF9MVEUKPiDCoAo+IMKgc3RhdGljIHVuc2lnbmVk IGxvbmcgdG9famlmZmllc190aW1lb3V0KHN0cnVjdAo+IGRybV94ZV93YWl0X3VzZXJfZmVuY2Ug KmFyZ3MpCj4gQEAgLTEwOSwxMSArMTA3LDkgQEAgaW50IHhlX3dhaXRfdXNlcl9mZW5jZV9pb2N0 bChzdHJ1Y3QgZHJtX2RldmljZQo+ICpkZXYsIHZvaWQgKmRhdGEsCj4gwqDCoMKgwqDCoMKgwqDC oHN0cnVjdCBkcm1feGVfZW5naW5lX2NsYXNzX2luc3RhbmNlCj4gZWNpW1hFX0hXX0VOR0lORV9N QVhfSU5TVEFOQ0VdOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgZHJtX3hlX2VuZ2luZV9jbGFz c19pbnN0YW5jZSBfX3VzZXIgKnVzZXJfZWNpID0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoHU2NF90b191c2VyX3B0cihhcmdzLT5pbnN0YW5jZXMpOwo+IC3CoMKgwqDCoMKgwqDC oHN0cnVjdCB4ZV92bSAqdm0gPSBOVUxMOwo+IMKgwqDCoMKgwqDCoMKgwqB1NjQgYWRkciA9IGFy Z3MtPmFkZHI7Cj4gwqDCoMKgwqDCoMKgwqDCoGludCBlcnI7Cj4gLcKgwqDCoMKgwqDCoMKgYm9v bCBub19lbmdpbmVzID0gYXJncy0+ZmxhZ3MgJiBEUk1fWEVfVUZFTkNFX1dBSVRfU09GVF9PUCB8 fAo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBhcmdzLT5mbGFncyAmIERSTV9YRV9V RkVOQ0VfV0FJVF9WTV9FUlJPUjsKPiArwqDCoMKgwqDCoMKgwqBib29sIG5vX2VuZ2luZXMgPSBh cmdzLT5mbGFncyAmIERSTV9YRV9VRkVOQ0VfV0FJVF9TT0ZUX09QOwo+IMKgwqDCoMKgwqDCoMKg wqB1bnNpZ25lZCBsb25nIHRpbWVvdXQ7Cj4gwqDCoMKgwqDCoMKgwqDCoGt0aW1lX3Qgc3RhcnQ7 Cj4gwqAKPiBAQCAtMTM0LDggKzEzMCw3IEBAIGludCB4ZV93YWl0X3VzZXJfZmVuY2VfaW9jdGwo c3RydWN0IGRybV9kZXZpY2UKPiAqZGV2LCB2b2lkICpkYXRhLAo+IMKgwqDCoMKgwqDCoMKgwqBp ZiAoWEVfSU9DVExfREJHKHhlLCAhbm9fZW5naW5lcyAmJiAhYXJncy0+bnVtX2VuZ2luZXMpKQo+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIC1FSU5WQUw7Cj4gwqAKPiAt wqDCoMKgwqDCoMKgwqBpZiAoWEVfSU9DVExfREJHKHhlLCAhKGFyZ3MtPmZsYWdzICYKPiBEUk1f WEVfVUZFTkNFX1dBSVRfVk1fRVJST1IpICYmCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgYWRkciAmIDB4NykpCj4gK8KgwqDCoMKgwqDCoMKgaWYgKFhF X0lPQ1RMX0RCRyh4ZSwgYWRkciAmIDB4NykpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqByZXR1cm4gLUVJTlZBTDsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBpZiAoWEVfSU9DVExf REJHKHhlLCBhcmdzLT5udW1fZW5naW5lcyA+Cj4gWEVfSFdfRU5HSU5FX01BWF9JTlNUQU5DRSkp Cj4gQEAgLTE1MywyMiArMTQ4LDYgQEAgaW50IHhlX3dhaXRfdXNlcl9mZW5jZV9pb2N0bChzdHJ1 Y3QgZHJtX2RldmljZQo+ICpkZXYsIHZvaWQgKmRhdGEsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIC1FSU5WQUw7Cj4gwqDCoMKgwqDCoMKg wqDCoH0KPiDCoAo+IC3CoMKgwqDCoMKgwqDCoGlmIChhcmdzLT5mbGFncyAmIERSTV9YRV9VRkVO Q0VfV0FJVF9WTV9FUlJPUikgewo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAo WEVfSU9DVExfREJHKHhlLCBhcmdzLT52bV9pZCA+PiAzMikpCj4gLcKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gLUVJTlZBTDsKPiAtCj4gLcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHZtID0geGVfdm1fbG9va3VwKHRvX3hlX2ZpbGUoZmls ZSksIGFyZ3MtPnZtX2lkKTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKFhF X0lPQ1RMX0RCRyh4ZSwgIXZtKSkKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoHJldHVybiAtRU5PRU5UOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgaWYgKFhFX0lPQ1RMX0RCRyh4ZSwgIXZtLQo+ID5hc3luY19vcHMuZXJyb3JfY2Fw dHVyZS5hZGRyKSkgewo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgeGVfdm1fcHV0KHZtKTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoHJldHVybiAtRU9QTk9UU1VQUDsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgfQo+IC0KPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgYWRkciA9IHZt LT5hc3luY19vcHMuZXJyb3JfY2FwdHVyZS5hZGRyOwo+IC3CoMKgwqDCoMKgwqDCoH0KPiAtCj4g wqDCoMKgwqDCoMKgwqDCoC8qCj4gwqDCoMKgwqDCoMKgwqDCoCAqIEZvciBuZWdhdGl2ZSB0aW1l b3V0IHdlIHdhbnQgdG8gd2FpdCAiZm9yZXZlciIgYnkgc2V0dGluZwo+IMKgwqDCoMKgwqDCoMKg wqAgKiBNQVhfU0NIRURVTEVfVElNRU9VVC4gQnV0IHdlIGhhdmUgdG8gYXNzaWduIHRoaXMgdmFs dWUKPiBhbHNvCj4gQEAgLTE4OCwxNSArMTY3LDggQEAgaW50IHhlX3dhaXRfdXNlcl9mZW5jZV9p b2N0bChzdHJ1Y3QgZHJtX2RldmljZQo+ICpkZXYsIHZvaWQgKmRhdGEsCj4gwqDCoMKgwqDCoMKg wqDCoCAqIGhhcmR3YXJlIGVuZ2luZS4gT3BlbiBjb2RpbmcgYXMgJ2RvX2NvbXBhcmUnIGNhbiBz bGVlcAo+IHdoaWNoIGRvZXNuJ3QKPiDCoMKgwqDCoMKgwqDCoMKgICogd29yayB3aXRoIHRoZSB3 YWl0X2V2ZW50XyogbWFjcm9zLgo+IMKgwqDCoMKgwqDCoMKgwqAgKi8KPiAtwqDCoMKgwqDCoMKg wqBpZiAodm0pCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGFkZF93YWl0X3F1ZXVl KCZ2bS0+YXN5bmNfb3BzLmVycm9yX2NhcHR1cmUud3EsCj4gJndfd2FpdCk7Cj4gLcKgwqDCoMKg wqDCoMKgZWxzZQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBhZGRfd2FpdF9xdWV1 ZSgmeGUtPnVmZW5jZV93cSwgJndfd2FpdCk7Cj4gK8KgwqDCoMKgwqDCoMKgYWRkX3dhaXRfcXVl dWUoJnhlLT51ZmVuY2Vfd3EsICZ3X3dhaXQpOwo+IMKgwqDCoMKgwqDCoMKgwqBmb3IgKDs7KSB7 Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlmICh2bSAmJiB4ZV92bV9pc19jbG9z ZWQodm0pKSB7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqBlcnIgPSAtRU5PREVWOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgYnJlYWs7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0KPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGVyciA9IGRvX2NvbXBhcmUoYWRkciwgYXJncy0+ dmFsdWUsIGFyZ3MtPm1hc2ssIGFyZ3MtCj4gPm9wKTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoGlmIChlcnIgPD0gMCkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqBicmVhazsKPiBAQCAtMjEzLDEyICsxODUsNyBAQCBpbnQgeGVfd2Fp dF91c2VyX2ZlbmNlX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlCj4gKmRldiwgdm9pZCAqZGF0YSwK PiDCoAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdGltZW91dCA9IHdhaXRfd29r ZW4oJndfd2FpdCwgVEFTS19JTlRFUlJVUFRJQkxFLAo+IHRpbWVvdXQpOwo+IMKgwqDCoMKgwqDC oMKgwqB9Cj4gLcKgwqDCoMKgwqDCoMKgaWYgKHZtKSB7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoHJlbW92ZV93YWl0X3F1ZXVlKCZ2bS0+YXN5bmNfb3BzLmVycm9yX2NhcHR1cmUu d3EsCj4gJndfd2FpdCk7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHhlX3ZtX3B1 dCh2bSk7Cj4gLcKgwqDCoMKgwqDCoMKgfSBlbHNlIHsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgcmVtb3ZlX3dhaXRfcXVldWUoJnhlLT51ZmVuY2Vfd3EsICZ3X3dhaXQpOwo+IC3C oMKgwqDCoMKgwqDCoH0KPiArwqDCoMKgwqDCoMKgwqByZW1vdmVfd2FpdF9xdWV1ZSgmeGUtPnVm ZW5jZV93cSwgJndfd2FpdCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKCEoYXJncy0+Zmxh Z3MgJiBEUk1fWEVfVUZFTkNFX1dBSVRfQUJTVElNRSkpIHsKPiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoGFyZ3MtPnRpbWVvdXQgLT0ga3RpbWVfdG9fbnMoa3RpbWVfc3ViKGt0aW1l X2dldCgpLAo+IHN0YXJ0KSk7Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0veGVfZHJt LmggYi9pbmNsdWRlL3VhcGkvZHJtL3hlX2RybS5oCj4gaW5kZXggNWNiYmI0MzNjZTY4Li5kMDI1 OTg2NTcxN2EgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS91YXBpL2RybS94ZV9kcm0uaAo+ICsrKyBi L2luY2x1ZGUvdWFwaS9kcm0veGVfZHJtLmgKPiBAQCAtODczLDE4ICs4NzMsMTAgQEAgc3RydWN0 IGRybV94ZV93YWl0X3VzZXJfZmVuY2Ugewo+IMKgwqDCoMKgwqDCoMKgwqAvKiogQGV4dGVuc2lv bnM6IFBvaW50ZXIgdG8gdGhlIGZpcnN0IGV4dGVuc2lvbiBzdHJ1Y3QsIGlmCj4gYW55ICovCj4g wqDCoMKgwqDCoMKgwqDCoF9fdTY0IGV4dGVuc2lvbnM7Cj4gwqAKPiAtwqDCoMKgwqDCoMKgwqB1 bmlvbiB7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC8qKgo+IC3CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgKiBAYWRkcjogdXNlciBwb2ludGVyIGFkZHJlc3MgdG8gd2Fp dCBvbiwgbXVzdCBxd29yZAo+IGFsaWduZWQKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgICovCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoF9fdTY0IGFkZHI7Cj4gLQo+ IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAvKioKPiAtwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgICogQHZtX2lkOiBUaGUgSUQgb2YgdGhlIFZNIHdoaWNoIGVuY291bnRlciBh biBlcnJvcgo+IHVzZWQgd2l0aAo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKiBE Uk1fWEVfVUZFTkNFX1dBSVRfVk1fRVJST1IuIFVwcGVyIDMyIGJpdHMgbXVzdCBiZQo+IGNsZWFy Lgo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKi8KPiAtwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgX191NjQgdm1faWQ7Cj4gLcKgwqDCoMKgwqDCoMKgfTsKPiArwqDCoMKg wqDCoMKgwqAvKioKPiArwqDCoMKgwqDCoMKgwqAgKiBAYWRkcjogdXNlciBwb2ludGVyIGFkZHJl c3MgdG8gd2FpdCBvbiwgbXVzdCBxd29yZCBhbGlnbmVkCj4gK8KgwqDCoMKgwqDCoMKgICovCj4g K8KgwqDCoMKgwqDCoMKgX191NjQgYWRkcjsKPiDCoAo+IMKgI2RlZmluZSBEUk1fWEVfVUZFTkNF X1dBSVRfRVHCoMKgMAo+IMKgI2RlZmluZSBEUk1fWEVfVUZFTkNFX1dBSVRfTkVRwqAxCj4gQEAg LTg5Nyw3ICs4ODksNiBAQCBzdHJ1Y3QgZHJtX3hlX3dhaXRfdXNlcl9mZW5jZSB7Cj4gwqAKPiDC oCNkZWZpbmUgRFJNX1hFX1VGRU5DRV9XQUlUX1NPRlRfT1DCoMKgwqDCoMKgKDEgPDwgMCnCoMKg wqDCoMKgwqDCoMKgLyogZS5nLiBXYWl0Cj4gb24gVk0gYmluZCAqLwo+IMKgI2RlZmluZSBEUk1f WEVfVUZFTkNFX1dBSVRfQUJTVElNRcKgwqDCoMKgwqAoMSA8PCAxKQo+IC0jZGVmaW5lIERSTV9Y RV9VRkVOQ0VfV0FJVF9WTV9FUlJPUsKgwqDCoMKgKDEgPDwgMikKPiDCoMKgwqDCoMKgwqDCoMKg LyoqIEBmbGFnczogd2FpdCBmbGFncyAqLwo+IMKgwqDCoMKgwqDCoMKgwqBfX3UxNiBmbGFnczsK PiDCoAoK