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 019501061B2E for ; Tue, 31 Mar 2026 11:18:18 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D4CB910EB10; Tue, 31 Mar 2026 11:18:17 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="V/ItdmvV"; dkim-atps=neutral Received: from mail-lj1-f178.google.com (mail-lj1-f178.google.com [209.85.208.178]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7D1C410EB10 for ; Tue, 31 Mar 2026 11:18:16 +0000 (UTC) Received: by mail-lj1-f178.google.com with SMTP id 38308e7fff4ca-38cb8e42d1dso3491231fa.0 for ; Tue, 31 Mar 2026 04:18:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774955894; x=1775560694; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=rr4XYxZlbgfRszfW0peUqy8RdEvlcyzb6hrOTDVWLRU=; b=V/ItdmvV/WT2eQzBtgasskifjonRs0OwDDT+fwU32WZmPJDQP7hLP2Db6YT9Dx4L+F ll7sn+4au+EZeE8IPmqP2w4lfx/zwAsiIS8IxsAXJAtak9mkvZ2k3z8uffAlcw5KB+pk gI1GUQaY4bBXfQy2+H5OsXiHnXzAD+1T9v32iUs8K7akz4A56Ud8KOnV0H8UH/4QSgqo W6ET3Jgc7+Unn3tcEKczoscC64qEqP5tnKD7jYhBlEc7pZ9SkBEHat095eGWvx15YQ9M gI9MmkTKlZKcqc+H8jug9xakXIPxaw1EuVVsWeBXUnHVOPI+7dWCs18kXsqQ9MQFiMBP zXwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774955894; x=1775560694; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=rr4XYxZlbgfRszfW0peUqy8RdEvlcyzb6hrOTDVWLRU=; b=Tv5R7H/sbrr7EQfvn9brz+KbY/HVfPhKJ5ttoVqCbzwgD38lYcwpkNlUe27bb16Ngi F0Q4tCIo/8PddcR1ecCYrEgJ8dckvAk88ijL0SrqZY8cqAsofriDVKkQvfnLgJYbhq0M WmkwTr9fFk8l2PvaybxtC7kcTJNVoR2Mz9LmU0Qb4Kv7ff3+tfwmIeJSSV+8xx2rTFpy j/Xp2Hs7E/d6uXphUaUQgnsYIUVSsC6HVHXAjgv/mYcCmixcQvYFTpc6jQovTzo2YsVJ cf/DjS888YHfsP0oarBlI8d0CFWFEZ7SJag1HehEL1F1Sl6Fdwh24TqvfAaq+aAmjYPx XxFg== X-Forwarded-Encrypted: i=1; AJvYcCUncWsbFgsirMvIpYU7OchxNcgU5iMzubenWhIJIZrKPiRJhqUzzLU7oCSaOSta9KQbCp9GczHSlE4=@lists.freedesktop.org X-Gm-Message-State: AOJu0YwNbdr1Ipi4ojKIYjcfE4dxyT4dPus/oKvi6Ezj8KmiYma1/Gp/ 3d8WlPxasdMpO2+xlZbNTXARz5UzaIq0FgzPXNTmM+hPwNeZHrLiL+Ad X-Gm-Gg: ATEYQzzQ0B7YChJYW/TYldmeKe/ME7ss2vCNtemfk8PEwBu9WQ7kxH6IWDNzwUozzlL E7fKFARgclH8QprQmLzAwe7uFoZHDkDZUGeP9NGnG1EOXz0TrsSO4LdoX+Jqxdcbv7l+WHVEeHu 8adejqv7N0lpeRYBqGhwE1sA5hL4GMyf7Dt/L0Zb7K/ahETGghup6LARTV7/dbepZdOcqm4KGVU J+3qHQEFgMplZ/esc4wMZLBPr3r3CDWSG5O1JlE3Tn1S6Ar9G0Jj5422H2VGxhNX9PM2Y4IDDGP pZ+mdqMmGfWzQAA45i/8dBKEKQ5drKyFscW393HfGWzxO7YIZ6Te9FAjUn7DDHZz2yG9N+vrncJ gvZ0M0lBYGY2/fvk6ylkK/+khxtdU86toh/68d1y4uj1s0mznYSVehBuBl8p4ej4CYqPuDYfTnE 5Sx2wP7J+MiKfx+bnR0/IOgMDAGXn6KnTSRA== X-Received: by 2002:a2e:bc15:0:b0:38a:3ad8:6f32 with SMTP id 38308e7fff4ca-38c740b8c29mr55919451fa.30.1774955894075; Tue, 31 Mar 2026 04:18:14 -0700 (PDT) Received: from localhost ([188.234.148.119]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38c8389524esm20069411fa.21.2026.03.31.04.18.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Mar 2026 04:18:13 -0700 (PDT) From: Mikhail Gavrilov To: Alex Deucher , =?UTF-8?q?Christian=20K=C3=B6nig?= Cc: lijo.lazar@amd.com, Eric Huang , David Airlie , Simona Vetter , amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Mikhail Gavrilov Subject: [PATCH v6] drm/amdgpu: replace PASID IDR with XArray Date: Tue, 31 Mar 2026 16:17:24 +0500 Message-ID: <20260331111808.16578-1-mikhail.v.gavrilov@gmail.com> X-Mailer: git-send-email 2.53.0 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" Q29tbWl0IDhmMWRlNTFmNDliZSAoImRybS9hbWRncHU6IHByZXZlbnQgaW1tZWRpYXRlIFBBU0lE IHJldXNlIGNhc2UiKQpjb252ZXJ0ZWQgdGhlIGdsb2JhbCBQQVNJRCBhbGxvY2F0b3IgZnJvbSBJ REEgdG8gSURSIHdpdGggYSBzcGlubG9jawpmb3IgY3ljbGljIGFsbG9jYXRpb24sIGJ1dCBpbnRy b2R1Y2VkIHR3byBsb2NraW5nIGJ1Z3M6CgoxKSBpZHJfYWxsb2NfY3ljbGljKCkgaXMgY2FsbGVk IHdpdGggR0ZQX0tFUk5FTCB1bmRlciBzcGluX2xvY2soKSwKICAgd2hpY2ggY2FuIHNsZWVwLgoK MikgYW1kZ3B1X3Bhc2lkX2ZyZWUoKSBjYW4gYmUgY2FsbGVkIGZyb20gaGFyZGlycSBjb250ZXh0 IHZpYSB0aGUKICAgZmVuY2Ugc2lnbmFsIHBhdGggKGFtZGdwdV9wYXNpZF9mcmVlX2NiKSwgYnV0 IHRoZSBsb2NrIGlzIHRha2VuCiAgIHdpdGggcGxhaW4gc3Bpbl9sb2NrKCkgaW4gcHJvY2VzcyBj b250ZXh0LCBjcmVhdGluZyBhIHBvdGVudGlhbAogICBkZWFkbG9jazoKCiAgICAgQ1BVMAogICAg IC0tLS0KICAgICBzcGluX2xvY2soJmFtZGdwdV9wYXNpZF9pZHJfbG9jaykgICAvLyBwcm9jZXNz IGNvbnRleHQsIElSUXMgb24KICAgICA8SW50ZXJydXB0PgogICAgICAgc3Bpbl9sb2NrKCZhbWRn cHVfcGFzaWRfaWRyX2xvY2spIC8vIGRlYWRsb2NrCgogICBUaGUgaGFyZGlycSBjYWxsIGNoYWlu IGlzOgoKICAgICBzZG1hX3Y2XzBfcHJvY2Vzc190cmFwX2lycQogICAgICAtPiBhbWRncHVfZmVu Y2VfcHJvY2VzcwogICAgICAgLT4gZG1hX2ZlbmNlX3NpZ25hbAogICAgICAgIC0+IGRybV9zY2hl ZF9qb2JfZG9uZQogICAgICAgICAtPiBkbWFfZmVuY2Vfc2lnbmFsCiAgICAgICAgICAtPiBhbWRn cHVfcGFzaWRfZnJlZV9jYgogICAgICAgICAgIC0+IGFtZGdwdV9wYXNpZF9mcmVlCgogICBUaGlz IHdhcyBvYnNlcnZlZCBvbiBhbiBSWCA3OTAwIFhUWCB3aGVuIGV4aXRpbmcgYSBWdWxrYW4gZ2Ft ZQogICBydW5uaW5nIHVuZGVyIFByb3Rvbi9XaW5lLCB3aGljaCB0cmlnZ2VycyB0aGUgZmVuY2Ug Y2FsbGJhY2sgcGF0aAogICBkdXJpbmcgVk0gdGVhcmRvd24uCgpSZXBsYWNlIHRoZSBJRFIgKyBz cGlubG9jayB3aXRoIFhBcnJheSB1c2luZyBYQV9GTEFHU19MT0NLX0lSUSAoYWxsCnhhIG9wZXJh dGlvbnMgdXNlIElSUS1zYWZlIGxvY2tpbmcgaW50ZXJuYWxseSkgYW5kIFhBX0ZMQUdTX0FMTE9D MQooemVybyBpcyBub3QgYSB2YWxpZCBQQVNJRCkuICBCb3RoIHhhX2FsbG9jX2N5Y2xpYygpIGFu ZCB4YV9lcmFzZSgpCnRoZW4gaGFuZGxlIGxvY2tpbmcgY29uc2lzdGVudGx5LCBmaXhpbmcgYm90 aCBidWdzLgoKU3VnZ2VzdGVkLWJ5OiBMaWpvIExhemFyIDxsaWpvLmxhemFyQGFtZC5jb20+CkZp eGVzOiA4ZjFkZTUxZjQ5YmUgKCJkcm0vYW1kZ3B1OiBwcmV2ZW50IGltbWVkaWF0ZSBQQVNJRCBy ZXVzZSBjYXNlIikKU2lnbmVkLW9mZi1ieTogTWlraGFpbCBHYXZyaWxvdiA8bWlraGFpbC52Lmdh dnJpbG92QGdtYWlsLmNvbT4KLS0tCgp2NjogVXNlIERFRklORV9YQVJSQVlfRkxBR1Mgd2l0aCBY QV9GTEFHU19MT0NLX0lSUSB8IFhBX0ZMQUdTX0FMTE9DMQogICAgc28gYWxsIHhhIG9wZXJhdGlv bnMgdXNlIElSUS1zYWZlIGxvY2tpbmcgaW50ZXJuYWxseS4gIERyb3AKICAgIENjOiBzdGFibGUg c2luY2UgdGhlIHJlZ3Jlc3Npb24gd2FzIG5ldmVyIHJlbGVhc2VkIHRvIGFueSBzdGFibGUKICAg IGtlcm5lbC4gKENocmlzdGlhbiBLw7ZuaWcpCnY1OiBVc2UgZXhwbGljaXQgeGFfbG9ja19pcnFz YXZlL19feGFfZXJhc2UgZm9yIGFtZGdwdV9wYXNpZF9mcmVlKCkKICAgIHNpbmNlIHhhX2VyYXNl KCkgb25seSB1c2VzIHBsYWluIHhhX2xvY2soKSB3aGljaCBpcyBub3Qgc2FmZSBmcm9tCiAgICBo YXJkaXJxIGNvbnRleHQuCiAgICBodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwvMjAyNjAzMzAx OTExMjAuMTA1MDY1LTEtbWlraGFpbC52LmdhdnJpbG92QGdtYWlsLmNvbS8KdjQ6IFVzZSB4YV9h bGxvY19jeWNsaWMveGFfZXJhc2UgZGlyZWN0bHkgaW5zdGVhZCBvZiBleHBsaWNpdAogICAgeGFf bG9ja19pcnFzYXZlLCBhcyBzdWdnZXN0ZWQgYnkgTGlqbyBMYXphci4KICAgIGh0dHBzOi8vbG9y ZS5rZXJuZWwub3JnL2FsbC8yMDI2MDMzMDE2MjAzOC4yNTA3My0xLW1pa2hhaWwudi5nYXZyaWxv dkBnbWFpbC5jb20vCnYzOiBSZXBsYWNlIElEUiB3aXRoIFhBcnJheSBpbnN0ZWFkIG9mIGZpeGlu ZyB0aGUgc3BpbmxvY2ssIGFzCiAgICBzdWdnZXN0ZWQgYnkgTGlqbyBMYXphci4KICAgIGh0dHBz Oi8vbG9yZS5rZXJuZWwub3JnL2FsbC8yMDI2MDMzMDExMDM0Ni4xNjU0OC0xLW1pa2hhaWwudi5n YXZyaWxvdkBnbWFpbC5jb20vCnYyOiBBZGRlZCBzZWNvbmQgcGF0Y2ggZml4aW5nIHRoZSB7SEFS RElSUS1PTi1XfSAtPiB7SU4tSEFSRElSUS1XfQogICAgbG9jayBpbmNvbnNpc3RlbmN5IChzcGlu X2xvY2sgLT4gc3Bpbl9sb2NrX2lycXNhdmUpLgogICAgaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcv YWxsLzIwMjYwMzMwMDUzMDI1LjE5MjAzLTEtbWlraGFpbC52LmdhdnJpbG92QGdtYWlsLmNvbS8K djE6IEZpeGVkIHNsZWVwaW5nLXVuZGVyLXNwaW5sb2NrIChpZHJfYWxsb2NfY3ljbGljIHdpdGgg R0ZQX0tFUk5FTCkKICAgIHVzaW5nIGlkcl9wcmVsb2FkL0dGUF9OT1dBSVQuCiAgICBodHRwczov L2xvcmUua2VybmVsLm9yZy9hbGwvMjAyNjAzMjgyMTM5MDAuMTkyNTUtMS1taWtoYWlsLnYuZ2F2 cmlsb3ZAZ21haWwuY29tLwoKIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9pZHMu YyB8IDQzICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxOSBpbnNl cnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfaWRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfaWRzLmMKaW5kZXggZDg4NTIzNTY4YjYyLi45ZjI2NGQ0MzlmM2QgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9pZHMuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfaWRzLmMKQEAgLTIyLDcgKzIyLDcgQEAKICAqLwogI2luY2x1 ZGUgImFtZGdwdV9pZHMuaCIKIAotI2luY2x1ZGUgPGxpbnV4L2lkci5oPgorI2luY2x1ZGUgPGxp bnV4L3hhcnJheS5oPgogI2luY2x1ZGUgPGxpbnV4L2RtYS1mZW5jZS1hcnJheS5oPgogCiAKQEAg LTM1LDEzICszNSwxMyBAQAogICogUEFTSURzIGFyZSBnbG9iYWwgYWRkcmVzcyBzcGFjZSBpZGVu dGlmaWVycyB0aGF0IGNhbiBiZSBzaGFyZWQKICAqIGJldHdlZW4gdGhlIEdQVSwgYW4gSU9NTVUg YW5kIHRoZSBkcml2ZXIuIFZNcyBvbiBkaWZmZXJlbnQgZGV2aWNlcwogICogbWF5IHVzZSB0aGUg c2FtZSBQQVNJRCBpZiB0aGV5IHNoYXJlIHRoZSBzYW1lIGFkZHJlc3MKLSAqIHNwYWNlLiBUaGVy ZWZvcmUgUEFTSURzIGFyZSBhbGxvY2F0ZWQgdXNpbmcgSURSIGN5Y2xpYyBhbGxvY2F0b3IKLSAq IChzaW1pbGFyIHRvIGtlcm5lbCBQSUQgYWxsb2NhdGlvbikgd2hpY2ggbmF0dXJhbGx5IGRlbGF5 cyByZXVzZS4KLSAqIFZNcyBhcmUgbG9va2VkIHVwIGZyb20gdGhlIFBBU0lEIHBlciBhbWRncHVf ZGV2aWNlLgorICogc3BhY2UuIFRoZXJlZm9yZSBQQVNJRHMgYXJlIGFsbG9jYXRlZCB1c2luZyBh biBYQXJyYXkgY3ljbGljCisgKiBhbGxvY2F0b3IgKHNpbWlsYXIgdG8ga2VybmVsIFBJRCBhbGxv Y2F0aW9uKSB3aGljaCBuYXR1cmFsbHkgZGVsYXlzCisgKiByZXVzZS4gVk1zIGFyZSBsb29rZWQg dXAgZnJvbSB0aGUgUEFTSUQgcGVyIGFtZGdwdV9kZXZpY2UuCiAgKi8KIAotc3RhdGljIERFRklO RV9JRFIoYW1kZ3B1X3Bhc2lkX2lkcik7Ci1zdGF0aWMgREVGSU5FX1NQSU5MT0NLKGFtZGdwdV9w YXNpZF9pZHJfbG9jayk7CitzdGF0aWMgREVGSU5FX1hBUlJBWV9GTEFHUyhhbWRncHVfcGFzaWRf eGEsIFhBX0ZMQUdTX0xPQ0tfSVJRIHwgWEFfRkxBR1NfQUxMT0MxKTsKK3N0YXRpYyB1MzIgYW1k Z3B1X3Bhc2lkX3hhX25leHQ7CiAKIC8qIEhlbHBlciB0byBmcmVlIHBhc2lkIGZyb20gYSBmZW5j ZSBjYWxsYmFjayAqLwogc3RydWN0IGFtZGdwdV9wYXNpZF9jYiB7CkBAIC01Myw4ICs1Myw3IEBA IHN0cnVjdCBhbWRncHVfcGFzaWRfY2IgewogICogYW1kZ3B1X3Bhc2lkX2FsbG9jIC0gQWxsb2Nh dGUgYSBQQVNJRAogICogQGJpdHM6IE1heGltdW0gd2lkdGggb2YgdGhlIFBBU0lEIGluIGJpdHMs IG11c3QgYmUgYXQgbGVhc3QgMQogICoKLSAqIFVzZXMga2VybmVsJ3MgSURSIGN5Y2xpYyBhbGxv Y2F0b3IgKHNhbWUgYXMgUElEIGFsbG9jYXRpb24pLgotICogQWxsb2NhdGVzIHNlcXVlbnRpYWxs eSB3aXRoIGF1dG9tYXRpYyB3cmFwLWFyb3VuZC4KKyAqIFVzZXMgWEFycmF5IGN5Y2xpYyBhbGxv Y2F0b3IgZm9yIHNlcXVlbnRpYWwgYWxsb2NhdGlvbiB3aXRoIHdyYXAtYXJvdW5kLgogICoKICAq IFJldHVybnMgYSBwb3NpdGl2ZSBpbnRlZ2VyIG9uIHN1Y2Nlc3MuIFJldHVybnMgJS1FSU5WQUwg aWYgYml0cz09MC4KICAqIFJldHVybnMgJS1FTk9TUEMgaWYgbm8gUEFTSUQgd2FzIGF2YWlsYWJs ZS4gUmV0dXJucyAlLUVOT01FTSBvbgpAQCAtNjIsMjAgKzYxLDIyIEBAIHN0cnVjdCBhbWRncHVf cGFzaWRfY2IgewogICovCiBpbnQgYW1kZ3B1X3Bhc2lkX2FsbG9jKHVuc2lnbmVkIGludCBiaXRz KQogewotCWludCBwYXNpZDsKKwl1MzIgcGFzaWQ7CisJaW50IHI7CiAKIAlpZiAoYml0cyA9PSAw KQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCXNwaW5fbG9jaygmYW1kZ3B1X3Bhc2lkX2lkcl9sb2Nr KTsKLQlwYXNpZCA9IGlkcl9hbGxvY19jeWNsaWMoJmFtZGdwdV9wYXNpZF9pZHIsIE5VTEwsIDEs Ci0JCQkJIDFVIDw8IGJpdHMsIEdGUF9LRVJORUwpOwotCXNwaW5fdW5sb2NrKCZhbWRncHVfcGFz aWRfaWRyX2xvY2spOworCXIgPSB4YV9hbGxvY19jeWNsaWMoJmFtZGdwdV9wYXNpZF94YSwgJnBh c2lkLCB4YV9ta192YWx1ZSgwKSwKKwkJCSAgICBYQV9MSU1JVCgxLCAoMVUgPDwgYml0cykgLSAx KSwKKwkJCSAgICAmYW1kZ3B1X3Bhc2lkX3hhX25leHQsIEdGUF9LRVJORUwpOwogCi0JaWYgKHBh c2lkID49IDApCisJaWYgKHIgPj0gMCkgewogCQl0cmFjZV9hbWRncHVfcGFzaWRfYWxsb2NhdGVk KHBhc2lkKTsKKwkJcmV0dXJuIHBhc2lkOworCX0KIAotCXJldHVybiBwYXNpZDsKKwlyZXR1cm4g cjsKIH0KIAogLyoqCkBAIC04Niw5ICs4Nyw3IEBAIHZvaWQgYW1kZ3B1X3Bhc2lkX2ZyZWUodTMy IHBhc2lkKQogewogCXRyYWNlX2FtZGdwdV9wYXNpZF9mcmVlZChwYXNpZCk7CiAKLQlzcGluX2xv Y2soJmFtZGdwdV9wYXNpZF9pZHJfbG9jayk7Ci0JaWRyX3JlbW92ZSgmYW1kZ3B1X3Bhc2lkX2lk ciwgcGFzaWQpOwotCXNwaW5fdW5sb2NrKCZhbWRncHVfcGFzaWRfaWRyX2xvY2spOworCXhhX2Vy YXNlKCZhbWRncHVfcGFzaWRfeGEsIHBhc2lkKTsKIH0KIAogc3RhdGljIHZvaWQgYW1kZ3B1X3Bh c2lkX2ZyZWVfY2Ioc3RydWN0IGRtYV9mZW5jZSAqZmVuY2UsCkBAIC02MjUsMTMgKzYyNCw5IEBA IHZvaWQgYW1kZ3B1X3ZtaWRfbWdyX2Zpbmkoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiB9 CiAKIC8qKgotICogYW1kZ3B1X3Bhc2lkX21ncl9jbGVhbnVwIC0gY2xlYW51cCBQQVNJRCBtYW5h Z2VyCi0gKgotICogQ2xlYW51cCB0aGUgSURSIGFsbG9jYXRvci4KKyAqIGFtZGdwdV9wYXNpZF9t Z3JfY2xlYW51cCAtIENsZWFudXAgUEFTSUQgbWFuYWdlcgogICovCiB2b2lkIGFtZGdwdV9wYXNp ZF9tZ3JfY2xlYW51cCh2b2lkKQogewotCXNwaW5fbG9jaygmYW1kZ3B1X3Bhc2lkX2lkcl9sb2Nr KTsKLQlpZHJfZGVzdHJveSgmYW1kZ3B1X3Bhc2lkX2lkcik7Ci0Jc3Bpbl91bmxvY2soJmFtZGdw dV9wYXNpZF9pZHJfbG9jayk7CisJeGFfZGVzdHJveSgmYW1kZ3B1X3Bhc2lkX3hhKTsKIH0KLS0g CjIuNTMuMAoK