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 9119AFF885A for ; Mon, 4 May 2026 04:26:27 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 7365510E370; Mon, 4 May 2026 04:26:26 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="mVFgeO7f"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.11]) by gabe.freedesktop.org (Postfix) with ESMTPS id EC6AA10E366; Mon, 4 May 2026 04:26:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1777868785; x=1809404785; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=zQoMfteVnaQntgARLaVx8wlm8c/AUEr2e+lBsP4Ho+M=; b=mVFgeO7fsbukB63RdrA/+6ov4LF4RVIfpKfPFHmKQs4M9ycbeotcrZSQ DWLq+zkl3fpxv90gglkUNuWPphciiA1NuqcrBahYMZtri1K/92SibdtiL rqbUEIoxuoMkQu44xX1aIFNt/gSU1Z5l2I7B4bZ3zXSlDURv35zI+QBSl Ou62mYBzBPOUMAys3AnBrbksSyjYZ3UHiD7chlt2rhGf423NOe752yH57 Gx3vPEFFeGBRLxLsVf6MQFGtN19hT9RZYuvlZXcBat3VlevEMpJheey96 t2TFcYSgSNilxrjBEhxs+Rzszz+9qjQ54pNVTOplgXN9a4/DNnfz4Ooxc Q==; X-CSE-ConnectionGUID: SZEDLpv7SWqmIDCwpIcQwQ== X-CSE-MsgGUID: xb3e20yVRGiKnXFxmSITCg== X-IronPort-AV: E=McAfee;i="6800,10657,11775"; a="89310108" X-IronPort-AV: E=Sophos;i="6.23,214,1770624000"; d="scan'208";a="89310108" Received: from orviesa007.jf.intel.com ([10.64.159.147]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 May 2026 21:26:24 -0700 X-CSE-ConnectionGUID: Y0w/qymWRYSKFzEN1c0S/w== X-CSE-MsgGUID: ML5LaMruRSyjXh94W4zzfQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.23,214,1770624000"; d="scan'208";a="235666547" Received: from gsse-cloud1.jf.intel.com ([10.54.39.91]) by orviesa007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 May 2026 21:26:23 -0700 From: Matthew Brost To: intel-xe@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: Christian Koenig , Huang Rui , Matthew Auld , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , linux-kernel@vger.kernel.org, stable@vger.kernel.org, =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= Subject: [PATCH] drm/ttm/pool: back up at native page order Date: Sun, 3 May 2026 21:26:19 -0700 Message-Id: <20260504042619.2896273-1-matthew.brost@intel.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" dHRtX3Bvb2xfc3BsaXRfZm9yX3N3YXAoKSBzcGxpdHMgaGlnaC1vcmRlciBwb29sIHBhZ2VzIGlu dG8gb3JkZXItMApwYWdlcyBkdXJpbmcgYmFja3VwIHNvIGVhY2ggNEsgcGFnZSBjYW4gYmUgcmVs ZWFzZWQgdG8gdGhlIHN5c3RlbSBhcwpzb29uIGFzIGl0IGhhcyBiZWVuIHdyaXR0ZW4gdG8gc2ht ZW0uIFdoaWxlIHRoaXMgbWluaW1pemVzIHRoZQphbGxvY2F0b3IncyB3b3JraW5nIHNldCBkdXJp bmcgcmVjbGFpbSwgaXQgYWN0aXZlbHkgZnJhZ21lbnRzIG1lbW9yeToKZXZlcnkgVFRNLWJhY2tl ZCBjb21wb3VuZCBwYWdlIHRoYXQgdGhlIHNocmlua2VyIHRvdWNoZXMgaXMgc2hhdHRlcmVkCmlu dG8gb3JkZXItMCBwYWdlcywgZXZlbiB3aGVuIHRoZSByZXN0IG9mIHRoZSBzeXN0ZW0gd291bGQg cHJlZmVyIHRoYXQKdGhlIGhpZ2gtb3JkZXIgYmxvY2sgc3RheSBpbnRhY3QuIFVuZGVyIHN1c3Rh aW5lZCBrc3dhcGQgcHJlc3N1cmUgdGhpcwppcyBlbm91Z2ggdG8gZHJpdmUgb3RoZXIgcGFydHMg b2YgTU0gaW50byByZWNvdmVyeSBsb29wcyBmcm9tIHdoaWNoCnRoZXkgY2Fubm90IGVhc2lseSBl c2NhcGUsIGJlY2F1c2UgdGhlIG1lbW9yeSBUVE0ganVzdCBmcmVlZCBpcyBubwpsb25nZXIgY29u dGlndW91cy4KClN0b3Agc3BsaXR0aW5nIG9uIHRoZSBiYWNrdXAgcGF0aCBhbmQgYmFjayB1cCBl YWNoIGNvbXBvdW5kIGF0b21pY2FsbHkKYXQgaXRzIG5hdGl2ZSBvcmRlciBpbiB0dG1fcG9vbF9i YWNrdXAoKToKCiAgLSBGb3IgZWFjaCBub24taGFuZGxlIHNsb3QsIHJlYWQgdGhlIG9yZGVyIGZy b20gdGhlIGhlYWQgcGFnZSBhbmQKICAgIGJhY2sgdXAgYWxsIDE8PG9yZGVyIHN1YnBhZ2VzIHRv IGNvbnNlY3V0aXZlIHNobWVtIGluZGljZXMsCiAgICB3cml0aW5nIHRoZSByZXN1bHRpbmcgaGFu ZGxlcyBpbnRvIHR0LT5wYWdlc1tdIGFzIHdlIGdvLgogIC0gT24gYW55IHBlci1zdWJwYWdlIGJh Y2t1cCBmYWlsdXJlLCBkcm9wIHRoZSBoYW5kbGVzIHdlIGp1c3Qgd3JvdGUKICAgIGZvciB0aGlz IGNvbXBvdW5kIGFuZCByZXN0b3JlIHRoZSBvcmlnaW5hbCBwYWdlIHBvaW50ZXJzLCBzbyB0aGUK ICAgIGNvbXBvdW5kIGlzIGxlZnQgZnVsbHkgaW50YWN0IGFuZCBtYXkgYmUgcmV0cmllZCBsYXRl ci4gc2hydW5rZW4KICAgIGlzIG9ubHkgaW5jcmVtZW50ZWQgb25jZSB0aGUgd2hvbGUgY29tcG91 bmQgc3VjY2VlZHMuCiAgLSBPbiBzdWNjZXNzLCB0aGUgY29tcG91bmQgaXMgZnJlZWQgb25jZSBh dCBpdHMgbmF0aXZlIG9yZGVyLiBObwogICAgc3BsaXRfcGFnZSgpLCBubyBwZXItNEsgcmVmY291 bnQganVnZ2xpbmcsIG5vIGZyYWdtZW50YXRpb24KICAgIGludHJvZHVjZWQgZnJvbSB0aGlzIHBh dGguCiAgLSBTbG90cyB0aGF0IGFscmVhZHkgaG9sZCBhIGJhY2t1cCBoYW5kbGUgZnJvbSBhIHBy ZXZpb3VzIHBhcnRpYWwKICAgIGF0dGVtcHQgYXJlIHNraXBwZWQuIEEgY29tcG91bmQgdGhhdCB3 b3VsZCBleHRlbmQgcGFzdCBhCiAgICBmYXVsdC1pbmplY3Rpb24tdHJ1bmNhdGVkIG51bV9wYWdl cyBpcyBza2lwcGVkIHJhdGhlciB0aGFuIHNwbGl0LgoKVGhlIHJlc3RvcmUtc2lkZSBsZWZ0b3Zl ci1wYWdlIGJyYW5jaCBpbiB0dG1fcG9vbF9yZXN0b3JlX2NvbW1pdCgpIGlzCmxlZnQgYXMtaXMg Zm9yIG5vdzogdGhhdCBwYXRoIGNhbiBzdGlsbCBzcGxpdCBhIHByZXZpb3VzbHktcmV0YWluZWQK Y29tcG91bmQsIGJ1dCBpbiBwcmFjdGljZSBpdCBpcyB1bnJlYWNoYWJsZSB1bmRlciByZWFsaXN0 aWMgd29ya2xvYWRzCihwZXIgcHJvZmlsaW5nIHdlIGhhdmUgbm90IGJlZW4gYWJsZSB0byB0cmln Z2VyIGl0KSwgc28gaXQgaXMgbm90CndvcnRoIGNvbXBsaWNhdGluZyB0aGUgcmVzdG9yZSBzdGF0 ZSBtYWNoaW5lIHRvIGF2b2lkIHRoZSBzcGxpdCB0aGVyZS4KSWYgaXQgZXZlciBiZWNvbWVzIGEg cHJvYmxlbSBpbiBwcmFjdGljZSBpdCBjYW4gYmUgYWRkcmVzc2VkCmluZGVwZW5kZW50bHkuCgp0 dG1fcG9vbF9zcGxpdF9mb3Jfc3dhcCgpIGl0c2VsZiBpcyByZXRhaW5lZCBmb3IgdGhlIHJlc3Rv cmUgcGF0aCdzCnNvbGUgcmVtYWluaW5nIGNhbGxlci4gVGhlIERNQS1tYXBwZWQgcHJlLWJhY2t1 cCB1bm1hcCBsb29wLCB0aGUKcHVyZ2UgcGF0aCwgdHRtX3Bvb2xfZnJlZV8qLCBhbmQgdHRtX3Bv b2xfdW5tYXBfYW5kX2ZyZWUoKSBhbHJlYWR5Cm9wZXJhdGUgYXQgbmF0aXZlIG9yZGVyIGFuZCBh cmUgdW5jaGFuZ2VkLgoKQ2M6IENocmlzdGlhbiBLb2VuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1k LmNvbT4KQ2M6IEh1YW5nIFJ1aSA8cmF5Lmh1YW5nQGFtZC5jb20+CkNjOiBNYXR0aGV3IEF1bGQg PG1hdHRoZXcuYXVsZEBpbnRlbC5jb20+CkNjOiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5s YW5raG9yc3RAbGludXguaW50ZWwuY29tPgpDYzogTWF4aW1lIFJpcGFyZCA8bXJpcGFyZEBrZXJu ZWwub3JnPgpDYzogVGhvbWFzIFppbW1lcm1hbm4gPHR6aW1tZXJtYW5uQHN1c2UuZGU+CkNjOiBE YXZpZCBBaXJsaWUgPGFpcmxpZWRAZ21haWwuY29tPgpDYzogU2ltb25hIFZldHRlciA8c2ltb25h QGZmd2xsLmNoPgpDYzogZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpDYzogbGludXgt a2VybmVsQHZnZXIua2VybmVsLm9yZwpDYzogc3RhYmxlQHZnZXIua2VybmVsLm9yZwpGaXhlczog YjYzZDcxNWI4MDkwICgiZHJtL3R0bS9wb29sLCBkcm0vdHRtL3R0OiBQcm92aWRlIGEgaGVscGVy IHRvIHNocmluayBwYWdlcyIpClN1Z2dlc3RlZC1ieTogVGhvbWFzIEhlbGxzdHLDtm0gPHRob21h cy5oZWxsc3Ryb21AbGludXguaW50ZWwuY29tPgpBc3Npc3RlZC1ieTogQ2xhdWRlOmNsYXVkZS1v cHVzLTQuNgpTaWduZWQtb2ZmLWJ5OiBNYXR0aGV3IEJyb3N0IDxtYXR0aGV3LmJyb3N0QGludGVs LmNvbT4KCi0tLQoKQSBmb2xsb3ctdXAgc2hvdWxkIGF0dGVtcHQgd3JpdGViYWNrIHRvIHNobWVt IGF0IGZvbGlvIG9yZGVyIGFzIHdlbGwsCmJ1dCB0aGUgQVBJIGZvciBkb2luZyBzbyBpcyB1bmNs ZWFyIGFuZCBtYXkgYmUgaW5jb21wbGV0ZS4KClRoaXMgcGF0Y2ggaXMgcmVsYXRlZCB0byB0aGUg cGVuZGluZyBzZXJpZXMgWzFdIGFuZCBzaWduaWZpY2FudGx5CnJlZHVjZXMgdGhlIGxpa2VsaWhv b2Qgb2YgWGUgZW50ZXJpbmcgYSBrc3dhcGQgbG9vcCB1bmRlciBmcmFnbWVudGF0aW9uLgpUaGUg a3N3YXBkIOKGkiBzaHJpbmtlciDihpIgWGUgc2hyaW5rZXIg4oaSIFRUTSBiYWNrdXAgcGF0aCBp cyBzdGlsbApleGVyY2lzZWQ7IGhvd2V2ZXIsIHdpdGggdGhpcyBjaGFuZ2UgdGhlIGJhY2t1cCBw YXRoIG5vIGxvbmdlciB3b3JzZW5zCmZyYWdtZW50YXRpb24sIHdoaWNoIHByZXZpb3VzbHkgYW1w bGlmaWVkIHJlY2xhaW0gcHJlc3N1cmUgYW5kCnJlaW5mb3JjZWQgdGhlIGtzd2FwZCBsb29wLgoK Tm9uZXRoZWxlc3MsIHRoZSBwYXRob2xvZ2ljYWwgY2FzZSB0aGF0IFsxXSBhaW1zIHRvIGFkZHJl c3Mgc3RpbGwgZXhpc3RzCmFuZCByZXF1aXJlcyBhIHByb3BlciBzb2x1dGlvbi4gRXZlbiB3aXRo IHRoaXMgcGF0Y2gsIGEga3N3YXBkIGxvb3AgZHVlCnRvIHNldmVyZSBmcmFnbWVudGF0aW9uIGNh biBzdGlsbCBiZSB0cmlnZ2VyZWQsIGFsdGhvdWdoIGl0IGlzIG5vdwpzdWJzdGFudGlhbGx5IGhh cmRlciB0byByZXByb2R1Y2UuCgpbMV0gaHR0cHM6Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Aub3Jn L3Nlcmllcy8xNjUzMzAvCi0tLQogZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fcG9vbC5jIHwgNzEg KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDU3IGlu c2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS90dG0vdHRtX3Bvb2wuYyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX3Bvb2wuYwppbmRleCAy NzhiYmU3YTExYWQuLjVlYWQwYWJhNGJiNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3R0 bS90dG1fcG9vbC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX3Bvb2wuYwpAQCAtMTAz NiwxMiArMTAzNiwxMSBAQCBsb25nIHR0bV9wb29sX2JhY2t1cChzdHJ1Y3QgdHRtX3Bvb2wgKnBv b2wsIHN0cnVjdCB0dG1fdHQgKnR0LAogewogCXN0cnVjdCBmaWxlICpiYWNrdXAgPSB0dC0+YmFj a3VwOwogCXN0cnVjdCBwYWdlICpwYWdlOwotCXVuc2lnbmVkIGxvbmcgaGFuZGxlOwogCWdmcF90 IGFsbG9jX2dmcDsKIAlnZnBfdCBnZnA7CiAJaW50IHJldCA9IDA7CiAJcGdvZmZfdCBzaHJ1bmtl biA9IDA7Ci0JcGdvZmZfdCBpLCBudW1fcGFnZXM7CisJcGdvZmZfdCBpLCBudW1fcGFnZXMsIG5w YWdlczsKIAogCWlmIChXQVJOX09OKHR0bV90dF9pc19iYWNrZWRfdXAodHQpKSkKIAkJcmV0dXJu IC1FSU5WQUw7CkBAIC0xMDk3LDI4ICsxMDk2LDcyIEBAIGxvbmcgdHRtX3Bvb2xfYmFja3VwKHN0 cnVjdCB0dG1fcG9vbCAqcG9vbCwgc3RydWN0IHR0bV90dCAqdHQsCiAJaWYgKElTX0VOQUJMRUQo Q09ORklHX0ZBVUxUX0lOSkVDVElPTikgJiYgc2hvdWxkX2ZhaWwoJmJhY2t1cF9mYXVsdF9pbmpl Y3QsIDEpKQogCQludW1fcGFnZXMgPSBESVZfUk9VTkRfVVAobnVtX3BhZ2VzLCAyKTsKIAotCWZv ciAoaSA9IDA7IGkgPCBudW1fcGFnZXM7ICsraSkgewotCQlzNjQgc2hhbmRsZTsKKwlmb3IgKGkg PSAwOyBpIDwgbnVtX3BhZ2VzOyBpICs9IG5wYWdlcykgeworCQl1bnNpZ25lZCBpbnQgb3JkZXI7 CisJCXBnb2ZmX3QgajsKIAorCQlucGFnZXMgPSAxOwogCQlwYWdlID0gdHQtPnBhZ2VzW2ldOwog CQlpZiAodW5saWtlbHkoIXBhZ2UpKQogCQkJY29udGludWU7CiAKLQkJdHRtX3Bvb2xfc3BsaXRf Zm9yX3N3YXAocG9vbCwgcGFnZSk7CisJCS8qIEFscmVhZHktaGFuZGxlZCBlbnRyeSBmcm9tIGEg cHJldmlvdXMgYXR0ZW1wdC4gKi8KKwkJaWYgKHVubGlrZWx5KHR0bV9iYWNrdXBfcGFnZV9wdHJf aXNfaGFuZGxlKHBhZ2UpKSkKKwkJCWNvbnRpbnVlOwogCi0JCXNoYW5kbGUgPSB0dG1fYmFja3Vw X2JhY2t1cF9wYWdlKGJhY2t1cCwgcGFnZSwgZmxhZ3MtPndyaXRlYmFjaywgaSwKLQkJCQkJCSBn ZnAsIGFsbG9jX2dmcCk7Ci0JCWlmIChzaGFuZGxlIDwgMCkgewotCQkJLyogV2UgYWxsb3cgcGFy dGlhbGx5IHNocnVua2VuIHR0cyAqLwotCQkJcmV0ID0gc2hhbmRsZTsKKwkJb3JkZXIgPSB0dG1f cG9vbF9wYWdlX29yZGVyKHBvb2wsIHBhZ2UpOworCQlucGFnZXMgPSAxVUwgPDwgb3JkZXI7CisK KwkJLyoKKwkJICogQmFjayB1cCB0aGUgY29tcG91bmQgYXRvbWljYWxseSBhdCBpdHMgbmF0aXZl IG9yZGVyLiBJZgorCQkgKiBmYXVsdCBpbmplY3Rpb24gdHJ1bmNhdGVkIG51bV9wYWdlcyBtaWQt Y29tcG91bmQsIHNraXAKKwkJICogdGhlIHBhcnRpYWwgdGFpbCByYXRoZXIgdGhhbiBzcGxpdHRp bmcuCisJCSAqLworCQlpZiAodW5saWtlbHkoaSArIG5wYWdlcyA+IG51bV9wYWdlcykpCiAJCQli cmVhazsKKworCQlmb3IgKGogPSAwOyBqIDwgbnBhZ2VzOyArK2opIHsKKwkJCXVuc2lnbmVkIGxv bmcgaGFuZGxlOworCQkJczY0IHNoYW5kbGU7CisKKwkJCWlmIChJU19FTkFCTEVEKENPTkZJR19G QVVMVF9JTkpFQ1RJT04pICYmCisJCQkgICAgc2hvdWxkX2ZhaWwoJmJhY2t1cF9mYXVsdF9pbmpl Y3QsIDEpKQorCQkJCXNoYW5kbGUgPSAtMTsKKwkJCWVsc2UKKwkJCQlzaGFuZGxlID0gdHRtX2Jh Y2t1cF9iYWNrdXBfcGFnZShiYWNrdXAsIHBhZ2UgKyBqLAorCQkJCQkJCQkgZmxhZ3MtPndyaXRl YmFjaywKKwkJCQkJCQkJIGkgKyBqLCBnZnAsCisJCQkJCQkJCSBhbGxvY19nZnApOworCisJCQlp ZiAodW5saWtlbHkoc2hhbmRsZSA8IDApKSB7CisJCQkJcGdvZmZfdCBrOworCisJCQkJcmV0ID0g c2hhbmRsZTsKKwkJCQkvKgorCQkJCSAqIFJvbGwgYmFjazogZHJvcCB0aGUgaGFuZGxlcyB3ZSBq dXN0IHdyb3RlCisJCQkJICogYW5kIHJlc3RvcmUgdGhlIG9yaWdpbmFsIHBhZ2UgcG9pbnRlcnMg c28KKwkJCQkgKiB0aGUgY29tcG91bmQgcmVtYWlucyBpbnRhY3QgYW5kIG1heSBiZQorCQkJCSAq IHJldHJpZWQgbGF0ZXIuCisJCQkJICovCisJCQkJZm9yIChrID0gMDsgayA8IGo7ICsraykgewor CQkJCQloYW5kbGUgPSB0dG1fYmFja3VwX3BhZ2VfcHRyX3RvX2hhbmRsZSh0dC0+cGFnZXNbaSAr IGtdKTsKKwkJCQkJdHRtX2JhY2t1cF9kcm9wKGJhY2t1cCwgaGFuZGxlKTsKKwkJCQkJdHQtPnBh Z2VzW2kgKyBrXSA9IHBhZ2UgKyBrOworCQkJCX0KKworCQkJCWdvdG8gb3V0OworCQkJfQorCQkJ aGFuZGxlID0gc2hhbmRsZTsKKwkJCXR0LT5wYWdlc1tpICsgal0gPSB0dG1fYmFja3VwX2hhbmRs ZV90b19wYWdlX3B0cihzaGFuZGxlKTsKIAkJfQotCQloYW5kbGUgPSBzaGFuZGxlOwotCQl0dC0+ cGFnZXNbaV0gPSB0dG1fYmFja3VwX2hhbmRsZV90b19wYWdlX3B0cihoYW5kbGUpOwotCQlfX2Zy ZWVfcGFnZXNfZ3B1X2FjY291bnQocGFnZSwgMCwgZmFsc2UpOwotCQlzaHJ1bmtlbisrOworCisJ CS8qIENvbXBvdW5kIGZ1bGx5IGJhY2tlZCB1cDsgZnJlZSBhdCBuYXRpdmUgb3JkZXIuICovCisJ CXBhZ2UtPnByaXZhdGUgPSAwOworCQlfX2ZyZWVfcGFnZXNfZ3B1X2FjY291bnQocGFnZSwgb3Jk ZXIsIGZhbHNlKTsKKwkJc2hydW5rZW4gKz0gbnBhZ2VzOwogCX0KIAorb3V0OgogCXJldHVybiBz aHJ1bmtlbiA/IHNocnVua2VuIDogcmV0OwogfQogCi0tIAoyLjM0LjEKCg==