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 54824CD4F54 for ; Wed, 20 May 2026 10:17:19 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A15EC10EFF6; Wed, 20 May 2026 10:17:18 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="XY/yDG76"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.9]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2439310EFEC; Wed, 20 May 2026 10:17:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1779272237; x=1810808237; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=2+TZnBOjtxQ+7sgnE4dyyDqIf36lmebFPCa1N4eu7nA=; b=XY/yDG76HhazP5bVOpuXsrikWcURtLBmuqdJ4pgdY0xsxDCg2oE2uz+H uR+gotMdzxPeNVJlmLMLvp4YxjEm7TsNqdLAw+WfZBDvAG9Btlyz79IfZ uuOdudr6roI1KC4/4r2gg8y5C5LXZY+J8/YSt0+QmVgJDawkIzHq3FTwU kgI7pQba/sI51NHoQ+s0sVtprynYjJugQ5WlU75H4KxT2yusStXjINrQK V4aDJqjbAy0KIpkMtT2KpsEa8wMwQk4lLQA3JUJjmvyoGrE8o3BRpk3pu dlkjmZo+aGnJFqDZjgGc9+bklAelWcWlyZSV/FBBpl+wcuLYROrpYp4bA w==; X-CSE-ConnectionGUID: 1vdvtZ1MR42i3Atr0LwAcQ== X-CSE-MsgGUID: 7WH3u+EVRYagfDo9AX3fJg== X-IronPort-AV: E=McAfee;i="6800,10657,11791"; a="102843277" X-IronPort-AV: E=Sophos;i="6.23,244,1770624000"; d="scan'208";a="102843277" Received: from orviesa003.jf.intel.com ([10.64.159.143]) by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 May 2026 03:17:16 -0700 X-CSE-ConnectionGUID: 8nMwht/ST7eAzWXdyzN2Eg== X-CSE-MsgGUID: D9rW5Y7HQOuRjiNm7VZm7w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.23,244,1770624000"; d="scan'208";a="244114053" Received: from vpanait-mobl.ger.corp.intel.com (HELO fedora) ([10.245.245.175]) by ORVIESA003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 May 2026 03:17:11 -0700 From: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= To: intel-xe@lists.freedesktop.org Cc: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= , Felix Kuehling , Alex Deucher , =?UTF-8?q?Christian=20K=C3=B6nig?= , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Danilo Krummrich , Matthew Brost , Alice Ryhl , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org Subject: [PATCH v2 1/4] drm/exec: Remove the index parameter from drm_exec_for_each_locked_obj[_reverse] Date: Wed, 20 May 2026 12:16:13 +0200 Message-ID: <20260520101616.41284-2-thomas.hellstrom@linux.intel.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260520101616.41284-1-thomas.hellstrom@linux.intel.com> References: <20260520101616.41284-1-thomas.hellstrom@linux.intel.com> 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" Tm9ib2R5IG1ha2VzIGFueSB1c2Ugb2YgaXQuIFBvc3NpYmxlIGludGVybmFsIGZ1dHVyZSB1c2Vy cyBjYW4KaW5zdGVhZCB1c2UgdGhlIF9pbmRleCB2YXJpYWJsZS4gRXh0ZXJuYWwgdXNlcnMgc2hv dWxkbid0IHVzZQppdCBzaW5jZSB0aGUgYXJyYXkgaXQncyBwb2ludGluZyBpbnRvIGlzIGludGVy bmFsIGRybV9leGVjIHN0YXRlLgoKdjI6Ci0gVXNlIGEgdW5pcXVlIGlkIGZvciB0aGUgbG9vcCB2 YXJpYWJsZSAoQ2hyaXN0aWFuKQoKQXNzaXN0ZWQtYnk6IEdpdEh1YiBDb3BpbG90OmNsYXVkZS1z b25uZXQtNC42ClNpZ25lZC1vZmYtYnk6IFRob21hcyBIZWxsc3Ryw7ZtIDx0aG9tYXMuaGVsbHN0 cm9tQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfY3MuYyAgICAgICAgfCAgOSArKystLS0tLS0KIC4uLi9kcm0vYW1kL2FtZGdwdS9hbWRncHVf ZXZpY3Rpb25fZmVuY2UuYyAgICB8ICAzICstLQogZHJpdmVycy9ncHUvZHJtL2RybV9leGVjLmMg ICAgICAgICAgICAgICAgICAgIHwgIDYgKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2dwdXZt LmMgICAgICAgICAgICAgICAgICAgfCAgMyArLS0KIGRyaXZlcnMvZ3B1L2RybS94ZS94ZV92bS5j ICAgICAgICAgICAgICAgICAgICB8ICAzICstLQogaW5jbHVkZS9kcm0vZHJtX2V4ZWMuaCAgICAg ICAgICAgICAgICAgICAgICAgIHwgMjAgKysrKysrKysrKystLS0tLS0tLQogNiBmaWxlcyBjaGFu Z2VkLCAyMCBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9jcy5jCmluZGV4IDMyYWY4Y2NlM2RmOC4uOTdhODUxYWU3YmQ4IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwpAQCAtODUwLDcgKzg1MCw2IEBAIHN0 YXRpYyBpbnQgYW1kZ3B1X2NzX3BhcnNlcl9ib3Moc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAs CiAJc3RydWN0IGFtZGdwdV92bSAqdm0gPSAmZnByaXYtPnZtOwogCXN0cnVjdCBhbWRncHVfYm9f bGlzdF9lbnRyeSAqZTsKIAlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iajsKLQl1bnNpZ25lZCBs b25nIGluZGV4OwogCXVuc2lnbmVkIGludCBpOwogCWludCByOwogCkBAIC05NjEsNyArOTYwLDcg QEAgc3RhdGljIGludCBhbWRncHVfY3NfcGFyc2VyX2JvcyhzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNl ciAqcCwKIAkJZ290byBvdXRfZnJlZV91c2VyX3BhZ2VzOwogCX0KIAotCWRybV9leGVjX2Zvcl9l YWNoX2xvY2tlZF9vYmplY3QoJnAtPmV4ZWMsIGluZGV4LCBvYmopIHsKKwlkcm1fZXhlY19mb3Jf ZWFjaF9sb2NrZWRfb2JqZWN0KCZwLT5leGVjLCBvYmopIHsKIAkJciA9IGFtZGdwdV9jc19ib192 YWxpZGF0ZShwLCBnZW1fdG9fYW1kZ3B1X2JvKG9iaikpOwogCQlpZiAodW5saWtlbHkocikpCiAJ CQlnb3RvIG91dF9mcmVlX3VzZXJfcGFnZXM7CkBAIC0xMjAxLDcgKzEyMDAsNiBAQCBzdGF0aWMg aW50IGFtZGdwdV9jc19zeW5jX3JpbmdzKHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwKQogCXN0 cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQ7CiAJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpv Ymo7CiAJc3RydWN0IGRtYV9mZW5jZSAqZmVuY2U7Ci0JdW5zaWduZWQgbG9uZyBpbmRleDsKIAl1 bnNpZ25lZCBpbnQgaTsKIAlpbnQgcjsKIApAQCAtMTIxMiw3ICsxMjEwLDcgQEAgc3RhdGljIGlu dCBhbWRncHVfY3Nfc3luY19yaW5ncyhzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCkKIAkJcmV0 dXJuIHI7CiAJfQogCi0JZHJtX2V4ZWNfZm9yX2VhY2hfbG9ja2VkX29iamVjdCgmcC0+ZXhlYywg aW5kZXgsIG9iaikgeworCWRybV9leGVjX2Zvcl9lYWNoX2xvY2tlZF9vYmplY3QoJnAtPmV4ZWMs IG9iaikgewogCQlzdHJ1Y3QgYW1kZ3B1X2JvICpibyA9IGdlbV90b19hbWRncHVfYm8ob2JqKTsK IAogCQlzdHJ1Y3QgZG1hX3Jlc3YgKnJlc3YgPSBiby0+dGJvLmJhc2UucmVzdjsKQEAgLTEyODEs NyArMTI3OSw2IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2NzX3N1Ym1pdChzdHJ1Y3QgYW1kZ3B1X2Nz X3BhcnNlciAqcCwKIAlzdHJ1Y3QgYW1kZ3B1X2pvYiAqbGVhZGVyID0gcC0+Z2FuZ19sZWFkZXI7 CiAJc3RydWN0IGFtZGdwdV9ib19saXN0X2VudHJ5ICplOwogCXN0cnVjdCBkcm1fZ2VtX29iamVj dCAqZ29iajsKLQl1bnNpZ25lZCBsb25nIGluZGV4OwogCXVuc2lnbmVkIGludCBpOwogCXVpbnQ2 NF90IHNlcTsKIAlpbnQgcjsKQEAgLTEzMzEsNyArMTMyOCw3IEBAIHN0YXRpYyBpbnQgYW1kZ3B1 X2NzX3N1Ym1pdChzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwKIAl9CiAKIAlwLT5mZW5jZSA9 IGRtYV9mZW5jZV9nZXQoJmxlYWRlci0+YmFzZS5zX2ZlbmNlLT5maW5pc2hlZCk7Ci0JZHJtX2V4 ZWNfZm9yX2VhY2hfbG9ja2VkX29iamVjdCgmcC0+ZXhlYywgaW5kZXgsIGdvYmopIHsKKwlkcm1f ZXhlY19mb3JfZWFjaF9sb2NrZWRfb2JqZWN0KCZwLT5leGVjLCBnb2JqKSB7CiAKIAkJdHRtX2Jv X21vdmVfdG9fbHJ1X3RhaWxfdW5sb2NrZWQoJmdlbV90b19hbWRncHVfYm8oZ29iaiktPnRibyk7 CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9ldmljdGlv bl9mZW5jZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2V2aWN0aW9uX2Zl bmNlLmMKaW5kZXggNGM1ZTM4ZGVhNGMyLi5mNmI3NTIyYzNjODIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9ldmljdGlvbl9mZW5jZS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9ldmljdGlvbl9mZW5jZS5jCkBAIC0xMjEsNyAr MTIxLDYgQEAgaW50IGFtZGdwdV9ldmZfbWdyX3JlYXJtKHN0cnVjdCBhbWRncHVfZXZpY3Rpb25f ZmVuY2VfbWdyICpldmZfbWdyLAogewogCXN0cnVjdCBhbWRncHVfZXZpY3Rpb25fZmVuY2UgKmV2 X2ZlbmNlOwogCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqOwotCXVuc2lnbmVkIGxvbmcgaW5k ZXg7CiAKIAkvKiBDcmVhdGUgYW5kIGluaXRpYWxpemUgYSBuZXcgZXZpY3Rpb24gZmVuY2UgKi8K IAlldl9mZW5jZSA9IGt6YWxsb2Nfb2JqKCpldl9mZW5jZSk7CkBAIC0xNDAsNyArMTM5LDcgQEAg aW50IGFtZGdwdV9ldmZfbWdyX3JlYXJtKHN0cnVjdCBhbWRncHVfZXZpY3Rpb25fZmVuY2VfbWdy ICpldmZfbWdyLAogCWV2Zl9tZ3ItPmV2X2ZlbmNlID0gJmV2X2ZlbmNlLT5iYXNlOwogCiAJLyog QW5kIGFkZCBpdCB0byBhbGwgZXhpc3RpbmcgQk9zICovCi0JZHJtX2V4ZWNfZm9yX2VhY2hfbG9j a2VkX29iamVjdChleGVjLCBpbmRleCwgb2JqKSB7CisJZHJtX2V4ZWNfZm9yX2VhY2hfbG9ja2Vk X29iamVjdChleGVjLCBvYmopIHsKIAkJc3RydWN0IGFtZGdwdV9ibyAqYm8gPSBnZW1fdG9fYW1k Z3B1X2JvKG9iaik7CiAKIAkJYW1kZ3B1X2V2Zl9tZ3JfYXR0YWNoX2ZlbmNlKGV2Zl9tZ3IsIGJv KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZXhlYy5jIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9leGVjLmMKaW5kZXggOGQwNjAxNDAwMTgyLi43NDYyMTBmM2Y2YzIgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZXhlYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f ZXhlYy5jCkBAIC0yNCw3ICsyNCw2IEBACiAgKgogICoJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpv Ymo7CiAgKglzdHJ1Y3QgZHJtX2V4ZWMgZXhlYzsKLSAqCXVuc2lnbmVkIGxvbmcgaW5kZXg7CiAg KglpbnQgcmV0OwogICoKICAqCWRybV9leGVjX2luaXQoJmV4ZWMsIERSTV9FWEVDX0lOVEVSUlVQ VElCTEVfV0FJVCk7CkBAIC00MCw3ICszOSw3IEBACiAgKgkJCWdvdG8gZXJyb3I7CiAgKgl9CiAg KgotICoJZHJtX2V4ZWNfZm9yX2VhY2hfbG9ja2VkX29iamVjdCgmZXhlYywgaW5kZXgsIG9iaikg eworICoJZHJtX2V4ZWNfZm9yX2VhY2hfbG9ja2VkX29iamVjdCgmZXhlYywgb2JqKSB7CiAgKgkJ ZG1hX3Jlc3ZfYWRkX2ZlbmNlKG9iai0+cmVzdiwgZmVuY2UsIERNQV9SRVNWX1VTQUdFX1JFQUQp OwogICoJCS4uLgogICoJfQpAQCAtNTYsOSArNTUsOCBAQAogc3RhdGljIHZvaWQgZHJtX2V4ZWNf dW5sb2NrX2FsbChzdHJ1Y3QgZHJtX2V4ZWMgKmV4ZWMpCiB7CiAJc3RydWN0IGRybV9nZW1fb2Jq ZWN0ICpvYmo7Ci0JdW5zaWduZWQgbG9uZyBpbmRleDsKIAotCWRybV9leGVjX2Zvcl9lYWNoX2xv Y2tlZF9vYmplY3RfcmV2ZXJzZShleGVjLCBpbmRleCwgb2JqKSB7CisJZHJtX2V4ZWNfZm9yX2Vh Y2hfbG9ja2VkX29iamVjdF9yZXZlcnNlKGV4ZWMsIG9iaikgewogCQlkbWFfcmVzdl91bmxvY2so b2JqLT5yZXN2KTsKIAkJZHJtX2dlbV9vYmplY3RfcHV0KG9iaik7CiAJfQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2RybV9ncHV2bS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9ncHV2bS5j CmluZGV4IDgzMDIwYjZjZjliYS4uYzQyMmM1YWYxZjRiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2dwdXZtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9ncHV2bS5jCkBAIC0x NTU3LDkgKzE1NTcsOCBAQCBkcm1fZ3B1dm1fcmVzdl9hZGRfZmVuY2Uoc3RydWN0IGRybV9ncHV2 bSAqZ3B1dm0sCiAJCQkgZW51bSBkbWFfcmVzdl91c2FnZSBleHRvYmpfdXNhZ2UpCiB7CiAJc3Ry dWN0IGRybV9nZW1fb2JqZWN0ICpvYmo7Ci0JdW5zaWduZWQgbG9uZyBpbmRleDsKIAotCWRybV9l eGVjX2Zvcl9lYWNoX2xvY2tlZF9vYmplY3QoZXhlYywgaW5kZXgsIG9iaikgeworCWRybV9leGVj X2Zvcl9lYWNoX2xvY2tlZF9vYmplY3QoZXhlYywgb2JqKSB7CiAJCWRtYV9yZXN2X2Fzc2VydF9o ZWxkKG9iai0+cmVzdik7CiAJCWRtYV9yZXN2X2FkZF9mZW5jZShvYmotPnJlc3YsIGZlbmNlLAog CQkJCSAgIGRybV9ncHV2bV9pc19leHRvYmooZ3B1dm0sIG9iaikgPwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3hlL3hlX3ZtLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfdm0uYwppbmRl eCBiMDFmMzFlZDQ0MTcuLjA4MGMyZmZmMGU5NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L3hlL3hlX3ZtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3ZtLmMKQEAgLTM3Myw3ICsz NzMsNiBAQCBpbnQgeGVfdm1fdmFsaWRhdGVfcmViaW5kKHN0cnVjdCB4ZV92bSAqdm0sIHN0cnVj dCBkcm1fZXhlYyAqZXhlYywKIAkJCSAgdW5zaWduZWQgaW50IG51bV9mZW5jZXMpCiB7CiAJc3Ry dWN0IGRybV9nZW1fb2JqZWN0ICpvYmo7Ci0JdW5zaWduZWQgbG9uZyBpbmRleDsKIAlpbnQgcmV0 OwogCiAJZG8gewpAQCAtMzg2LDcgKzM4NSw3IEBAIGludCB4ZV92bV92YWxpZGF0ZV9yZWJpbmQo c3RydWN0IHhlX3ZtICp2bSwgc3RydWN0IGRybV9leGVjICpleGVjLAogCQkJcmV0dXJuIHJldDsK IAl9IHdoaWxlICghbGlzdF9lbXB0eSgmdm0tPmdwdXZtLmV2aWN0Lmxpc3QpKTsKIAotCWRybV9l eGVjX2Zvcl9lYWNoX2xvY2tlZF9vYmplY3QoZXhlYywgaW5kZXgsIG9iaikgeworCWRybV9leGVj X2Zvcl9lYWNoX2xvY2tlZF9vYmplY3QoZXhlYywgb2JqKSB7CiAJCXJldCA9IGRtYV9yZXN2X3Jl c2VydmVfZmVuY2VzKG9iai0+cmVzdiwgbnVtX2ZlbmNlcyk7CiAJCWlmIChyZXQpCiAJCQlyZXR1 cm4gcmV0OwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2V4ZWMuaCBiL2luY2x1ZGUvZHJt L2RybV9leGVjLmgKaW5kZXggYWE3ODZiODI4YTBhLi5kZWU2ZWJkYmU0MTYgMTAwNjQ0Ci0tLSBh L2luY2x1ZGUvZHJtL2RybV9leGVjLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2V4ZWMuaApAQCAt NjUsMzEgKzY1LDM1IEBAIGRybV9leGVjX29iaihzdHJ1Y3QgZHJtX2V4ZWMgKmV4ZWMsIHVuc2ln bmVkIGxvbmcgaW5kZXgpCiAJcmV0dXJuIGluZGV4IDwgZXhlYy0+bnVtX29iamVjdHMgPyBleGVj LT5vYmplY3RzW2luZGV4XSA6IE5VTEw7CiB9CiAKKy8qIEhlbHBlciBmb3IgZHJtX2V4ZWNfZm9y X2VhY2hfbG9ja2VkX29iamVjdCgpLiBJbnRlcm5hbCB1c2Ugb25seS4gKi8KKyNkZWZpbmUgX19k cm1fZXhlY19mb3JfZWFjaF9sb2NrZWRfb2JqZWN0KGV4ZWMsIG9iaiwgX19pbmRleCkJCVwKKwlm b3IgKHVuc2lnbmVkIGxvbmcgX19pbmRleCA9IDA7ICgob2JqKSA9IGRybV9leGVjX29iaihleGVj LCBfX2luZGV4KSk7ICsrX19pbmRleCkKIC8qKgogICogZHJtX2V4ZWNfZm9yX2VhY2hfbG9ja2Vk X29iamVjdCAtIGl0ZXJhdGUgb3ZlciBhbGwgdGhlIGxvY2tlZCBvYmplY3RzCiAgKiBAZXhlYzog ZHJtX2V4ZWMgb2JqZWN0Ci0gKiBAaW5kZXg6IHVuc2lnbmVkIGxvbmcgaW5kZXggZm9yIHRoZSBp dGVyYXRpb24KICAqIEBvYmo6IHRoZSBjdXJyZW50IEdFTSBvYmplY3QKICAqCiAgKiBJdGVyYXRl IG92ZXIgYWxsIHRoZSBsb2NrZWQgR0VNIG9iamVjdHMgaW5zaWRlIHRoZSBkcm1fZXhlYyBvYmpl Y3QuCiAgKi8KLSNkZWZpbmUgZHJtX2V4ZWNfZm9yX2VhY2hfbG9ja2VkX29iamVjdChleGVjLCBp bmRleCwgb2JqKQkJXAotCWZvciAoKGluZGV4KSA9IDA7ICgob2JqKSA9IGRybV9leGVjX29iaihl eGVjLCBpbmRleCkpOyArKyhpbmRleCkpCisjZGVmaW5lIGRybV9leGVjX2Zvcl9lYWNoX2xvY2tl ZF9vYmplY3QoZXhlYywgb2JqKQkJCVwKKwlfX2RybV9leGVjX2Zvcl9lYWNoX2xvY2tlZF9vYmpl Y3QoZXhlYywgb2JqLCBfX1VOSVFVRV9JRChkcm1fZXhlYykpCiAKKy8qIEhlbHBlciBmb3IgZHJt X2V4ZWNfZm9yX2VhY2hfbG9ja2VkX29iamVjdF9yZXZlcnNlKCkuIEludGVybmFsIHVzZSBvbmx5 LiAqLworI2RlZmluZSBfX2RybV9leGVjX2Zvcl9lYWNoX2xvY2tlZF9vYmplY3RfcmV2ZXJzZShl eGVjLCBvYmosIF9faW5kZXgpCVwKKwlmb3IgKHVuc2lnbmVkIGxvbmcgX19pbmRleCA9IChleGVj KS0+bnVtX29iamVjdHMgLSAxOwkJXAorCSAgICAgKChvYmopID0gZHJtX2V4ZWNfb2JqKGV4ZWMs IF9faW5kZXgpKTsgLS1fX2luZGV4KQogLyoqCiAgKiBkcm1fZXhlY19mb3JfZWFjaF9sb2NrZWRf b2JqZWN0X3JldmVyc2UgLSBpdGVyYXRlIG92ZXIgYWxsIHRoZSBsb2NrZWQKICAqIG9iamVjdHMg aW4gcmV2ZXJzZSBsb2NraW5nIG9yZGVyCiAgKiBAZXhlYzogZHJtX2V4ZWMgb2JqZWN0Ci0gKiBA aW5kZXg6IHVuc2lnbmVkIGxvbmcgaW5kZXggZm9yIHRoZSBpdGVyYXRpb24KICAqIEBvYmo6IHRo ZSBjdXJyZW50IEdFTSBvYmplY3QKICAqCiAgKiBJdGVyYXRlIG92ZXIgYWxsIHRoZSBsb2NrZWQg R0VNIG9iamVjdHMgaW5zaWRlIHRoZSBkcm1fZXhlYyBvYmplY3QgaW4KLSAqIHJldmVyc2UgbG9j a2luZyBvcmRlci4gTm90ZSB0aGF0IEBpbmRleCBtYXkgZ28gYmVsb3cgemVybyBhbmQgd3JhcCwK KyAqIHJldmVyc2UgbG9ja2luZyBvcmRlci4gTm90ZSB0aGF0IHRoZSBpbnRlcm5hbCBpbmRleCBt YXkgd3JhcCBhcm91bmQsCiAgKiBidXQgdGhhdCB3aWxsIGJlIGNhdWdodCBieSBkcm1fZXhlY19v YmooKSwgcmV0dXJuaW5nIGEgTlVMTCBvYmplY3QuCiAgKi8KLSNkZWZpbmUgZHJtX2V4ZWNfZm9y X2VhY2hfbG9ja2VkX29iamVjdF9yZXZlcnNlKGV4ZWMsIGluZGV4LCBvYmopCVwKLQlmb3IgKChp bmRleCkgPSAoZXhlYyktPm51bV9vYmplY3RzIC0gMTsJCQkJXAotCSAgICAgKChvYmopID0gZHJt X2V4ZWNfb2JqKGV4ZWMsIGluZGV4KSk7IC0tKGluZGV4KSkKKyNkZWZpbmUgZHJtX2V4ZWNfZm9y X2VhY2hfbG9ja2VkX29iamVjdF9yZXZlcnNlKGV4ZWMsIG9iaikJCVwKKwlfX2RybV9leGVjX2Zv cl9lYWNoX2xvY2tlZF9vYmplY3RfcmV2ZXJzZShleGVjLCBvYmosIF9fVU5JUVVFX0lEKGRybV9l eGVjKSkKIAogLyoqCiAgKiBkcm1fZXhlY191bnRpbF9hbGxfbG9ja2VkIC0gbG9vcCB1bnRpbCBh bGwgR0VNIG9iamVjdHMgYXJlIGxvY2tlZAotLSAKMi41NC4wCgo=