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 5C6CE1090247 for ; Thu, 19 Mar 2026 16:02:05 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 5B27810E90F; Thu, 19 Mar 2026 16:02:04 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=suse.de header.i=@suse.de header.b="LP0JBo4b"; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b="DurUNpUX"; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b="LP0JBo4b"; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b="DurUNpUX"; dkim-atps=neutral Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by gabe.freedesktop.org (Postfix) with ESMTPS id 998F110E8DB for ; Thu, 19 Mar 2026 16:01:54 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 14E3D5BD8B; Thu, 19 Mar 2026 16:01:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1773936082; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TynI2gXEMx2RShMh3dgkoOaaw/FPUKMVSwXv8ZJf/NE=; b=LP0JBo4b0t6zM66cE/1iISmLWnOxlA5oIsHquQDR5ahoItaTHcZYwnj99mIeH3HDeWmPl7 vrvz8CYP8tJ6gWGxouJbEPtynOs5L1VlTrKrkSNcg3Ig+RzvI2Sjir4zLleTfrZiT14KQU p8CPrj5mystWzBeCbmac5stk/h+1s3o= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1773936082; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TynI2gXEMx2RShMh3dgkoOaaw/FPUKMVSwXv8ZJf/NE=; b=DurUNpUXC9++/uBDtE2PLDyC575PujHKFHhJKhf+vunMECAB3Hn8XBro94uqy+T9K83wNz w1OknzwL7W8NxIAQ== Authentication-Results: smtp-out2.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1773936082; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TynI2gXEMx2RShMh3dgkoOaaw/FPUKMVSwXv8ZJf/NE=; b=LP0JBo4b0t6zM66cE/1iISmLWnOxlA5oIsHquQDR5ahoItaTHcZYwnj99mIeH3HDeWmPl7 vrvz8CYP8tJ6gWGxouJbEPtynOs5L1VlTrKrkSNcg3Ig+RzvI2Sjir4zLleTfrZiT14KQU p8CPrj5mystWzBeCbmac5stk/h+1s3o= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1773936082; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TynI2gXEMx2RShMh3dgkoOaaw/FPUKMVSwXv8ZJf/NE=; b=DurUNpUXC9++/uBDtE2PLDyC575PujHKFHhJKhf+vunMECAB3Hn8XBro94uqy+T9K83wNz w1OknzwL7W8NxIAQ== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id D6FA742767; Thu, 19 Mar 2026 16:01:19 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id yPkPM88dvGn0WQAAD6G6ig (envelope-from ); Thu, 19 Mar 2026 16:01:19 +0000 From: Thomas Zimmermann To: david@lechnology.com, javierm@redhat.com, lanzano.alex@gmail.com, kamlesh.gurudasani@gmail.com, architanant5@gmail.com, wens@kernel.org, mripard@kernel.org, maarten.lankhorst@linux.intel.com, simona@ffwll.ch, airlied@gmail.com Cc: dri-devel@lists.freedesktop.org, Thomas Zimmermann Subject: [PATCH v3 16/16] drm/simple-kms: Deprecate simple-kms helpers Date: Thu, 19 Mar 2026 16:59:52 +0100 Message-ID: <20260319160110.109610-17-tzimmermann@suse.de> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260319160110.109610-1-tzimmermann@suse.de> References: <20260319160110.109610-1-tzimmermann@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Spamd-Result: default: False [-1.80 / 50.00]; BAYES_HAM(-3.00)[100.00%]; SUSPICIOUS_RECIPS(1.50)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; FUZZY_RATELIMITED(0.00)[rspamd.com]; RCVD_VIA_SMTP_AUTH(0.00)[]; FREEMAIL_ENVRCPT(0.00)[gmail.com]; MIME_TRACE(0.00)[0:+]; ARC_NA(0.00)[]; TO_DN_SOME(0.00)[]; RCPT_COUNT_TWELVE(0.00)[12]; TAGGED_RCPT(0.00)[]; FREEMAIL_TO(0.00)[lechnology.com,redhat.com,gmail.com,kernel.org,linux.intel.com,ffwll.ch]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; R_RATELIMIT(0.00)[to_ip_from(RLqirfcw6gnbcr9a9yhi49fhi6)]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:mid, suse.de:email, imap1.dmz-prg2.suse.org:helo] 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" RGVwcmVjYXRlIHNpbXBsZS1lbmNvZGVyIGFuZCBzaW1wbGUtZGlzcGxheS1waXBlIGhlbHBlcnMg aW4gZmF2b3Igb2YKcmVndWxhciBhdG9taWMgaGVscGVycy4gUmVtb3ZlIHRoZSByZWxhdGVkIGRv Y3VtZW50YXRpb24uIEFkZCBUT0RPCml0ZW0gZm9yIGNvbnZlcnRpbmcgdGhlIHJlbWFpbmluZyBk cml2ZXJzLgoKVGhlc2UgaGVscGVycyBoYXZlIGJlZW4gZGVwcmVjYXRlZCBmb3IgeWVhcnMgYW5k IG1hbnkgZHJpdmVycyBoYXZlCmJlZW4gdXBkYXRlZCB0byBub3QgdXNlIHRoZW0uIFN0aWxsIHRo ZXJlIGFyZSBhIGZldyBsZWZ0IGFuZCB3ZQpvY2Nhc2lvbmFsbHkgcmVjZWl2ZSBuZXcgZHJpdmVy cyBidWlsZCB1cG9uIHRoZW0uIE1hcmtpbmcgdGhlbSBhcwpkZXByZWNhdGVkIHdpbGwgaG9wZWZ1 bGx5IHJlc29sdmUgdGhlc2UgcHJvYmxlbXMuIFRoZSBUT0RPIGl0ZW1zCnNob3VsZCBiZSBlYXN5 IGVub3VnaCBmb3IgZ2V0dGluZyBuZXcgdm9sdXRlZXJzIHN0YXJ0ZWQgb24gRFJNIGRyaXZlcgpk ZXZlbG9wbWVudC4KClNpZ25lZC1vZmYtYnk6IFRob21hcyBaaW1tZXJtYW5uIDx0emltbWVybWFu bkBzdXNlLmRlPgpBY2tlZC1ieTogRGF2aWQgTGVjaG5lciA8ZGF2aWRAbGVjaG5vbG9neS5jb20+ Ci0tLQogRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy1oZWxwZXJzLnJzdCAgIHwgIDEyIC0tCiBE b2N1bWVudGF0aW9uL2dwdS9pbnRyb2R1Y3Rpb24ucnN0ICAgICAgfCAgIDYgLQogRG9jdW1lbnRh dGlvbi9ncHUvdG9kby5yc3QgICAgICAgICAgICAgIHwgIDMyICsrKysKIGRyaXZlcnMvZ3B1L2Ry bS9kcm1fY3J0Yy5jICAgICAgICAgICAgICB8ICAgNiArLQogZHJpdmVycy9ncHUvZHJtL2RybV9n ZW1fYXRvbWljX2hlbHBlci5jIHwgIDIyIC0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0 X2hlbHBlci5jICAgIHwgICAzIC0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fc2ltcGxlX2ttc19oZWxw ZXIuYyB8ICA4MyAtLS0tLS0tLS0KIGluY2x1ZGUvZHJtL2RybV9zaW1wbGVfa21zX2hlbHBlci5o ICAgICB8IDIxNiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDggZmlsZXMgY2hhbmdlZCwgMzkg aW5zZXJ0aW9ucygrKSwgMzQxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRp b24vZ3B1L2RybS1rbXMtaGVscGVycy5yc3QgYi9Eb2N1bWVudGF0aW9uL2dwdS9kcm0ta21zLWhl bHBlcnMucnN0CmluZGV4IDc4MTEyOWY3OGIwNi4uYjRhOWU1YWU4MWY2IDEwMDY0NAotLS0gYS9E b2N1bWVudGF0aW9uL2dwdS9kcm0ta21zLWhlbHBlcnMucnN0CisrKyBiL0RvY3VtZW50YXRpb24v Z3B1L2RybS1rbXMtaGVscGVycy5yc3QKQEAgLTEwNCwxOCArMTA0LDYgQEAgVkJMQU5LIEhlbHBl ciBSZWZlcmVuY2UKIC4uIGtlcm5lbC1kb2M6OiBkcml2ZXJzL2dwdS9kcm0vZHJtX3ZibGFua19o ZWxwZXIuYwogICAgOmV4cG9ydDoKIAotU2ltcGxlIEtNUyBIZWxwZXIgUmVmZXJlbmNlCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLQotLi4ga2VybmVsLWRvYzo6IGRyaXZlcnMvZ3B1L2Ry bS9kcm1fc2ltcGxlX2ttc19oZWxwZXIuYwotICAgOmRvYzogb3ZlcnZpZXcKLQotLi4ga2VybmVs LWRvYzo6IGluY2x1ZGUvZHJtL2RybV9zaW1wbGVfa21zX2hlbHBlci5oCi0gICA6aW50ZXJuYWw6 Ci0KLS4uIGtlcm5lbC1kb2M6OiBkcml2ZXJzL2dwdS9kcm0vZHJtX3NpbXBsZV9rbXNfaGVscGVy LmMKLSAgIDpleHBvcnQ6Ci0KIGZiZGV2IEhlbHBlciBGdW5jdGlvbnMgUmVmZXJlbmNlCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9u L2dwdS9pbnRyb2R1Y3Rpb24ucnN0IGIvRG9jdW1lbnRhdGlvbi9ncHUvaW50cm9kdWN0aW9uLnJz dAppbmRleCAzY2QwYzg4NjBiOTQuLmQ4ZjUxOTY5M2ZjMiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRh dGlvbi9ncHUvaW50cm9kdWN0aW9uLnJzdAorKysgYi9Eb2N1bWVudGF0aW9uL2dwdS9pbnRyb2R1 Y3Rpb24ucnN0CkBAIC0xMTksMTIgKzExOSw2IEBAIFNpbXBsZSBEUk0gZHJpdmVycyB0byB1c2Ug YXMgZXhhbXBsZXMKIFRoZSBEUk0gc3Vic3lzdGVtIGNvbnRhaW5zIGEgbG90IG9mIGhlbHBlciBm dW5jdGlvbnMgdG8gZWFzZSB3cml0aW5nIGRyaXZlcnMgZm9yCiBzaW1wbGUgZ3JhcGhpYyBkZXZp Y2VzLiBGb3IgZXhhbXBsZSwgdGhlIGBkcml2ZXJzL2dwdS9kcm0vdGlueS9gIGRpcmVjdG9yeSBo YXMgYQogc2V0IG9mIGRyaXZlcnMgdGhhdCBhcmUgc2ltcGxlIGVub3VnaCB0byBiZSBpbXBsZW1l bnRlZCBpbiBhIHNpbmdsZSBzb3VyY2UgZmlsZS4KLQotVGhlc2UgZHJpdmVycyBtYWtlIHVzZSBv ZiB0aGUgYHN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZV9mdW5jc2AsIHRoYXQgaGlkZXMK LWFueSBjb21wbGV4aXR5IG9mIHRoZSBEUk0gc3Vic3lzdGVtIGFuZCBqdXN0IHJlcXVpcmVzIGRy aXZlcnMgdG8gaW1wbGVtZW50IGEgZmV3Ci1mdW5jdGlvbnMgbmVlZGVkIHRvIG9wZXJhdGUgdGhl IGRldmljZS4gVGhpcyBjb3VsZCBiZSB1c2VkIGZvciBkZXZpY2VzIHRoYXQganVzdAotbmVlZCBh IGRpc3BsYXkgcGlwZWxpbmUgd2l0aCBvbmUgZnVsbC1zY3JlZW4gc2Nhbm91dCBidWZmZXIgZmVl ZGluZyBvbmUgb3V0cHV0LgotCiBUaGUgdGlueSBEUk0gZHJpdmVycyBhcmUgZ29vZCBleGFtcGxl cyB0byB1bmRlcnN0YW5kIGhvdyBEUk0gZHJpdmVycyBzaG91bGQgbG9vawogbGlrZS4gU2luY2Ug YXJlIGp1c3QgYSBmZXcgaHVuZHJlZHMgbGluZXMgb2YgY29kZSwgdGhleSBhcmUgcXVpdGUgZWFz eSB0byByZWFkLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dwdS90b2RvLnJzdCBiL0Rv Y3VtZW50YXRpb24vZ3B1L3RvZG8ucnN0CmluZGV4IDUyMGRhNDRhMDRhNi4uYmM5ZjE0YzhhMmVj IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dwdS90b2RvLnJzdAorKysgYi9Eb2N1bWVudGF0 aW9uL2dwdS90b2RvLnJzdApAQCAtMjksNiArMjksMzggQEAgcmVmYWN0b3JpbmdzIGFscmVhZHkg YW5kIGFyZSBhbiBleHBlcnQgaW4gdGhlIHNwZWNpZmljIGFyZWEKIFN1YnN5c3RlbS13aWRlIHJl ZmFjdG9yaW5ncwogPT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKK09wZW4tY29kZSBkcm1f c2ltcGxlX2VuY29kZXJfaW5pdCgpCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorCitUaGUgaGVscGVyIGRybV9zaW1wbGVfZW5jb2Rlcl9pbml0KCkgd2FzIHN1cHBvc2VkIHRv IHNpbXBsaWZ5IGVuY29kZXIKK2luaXRpYWxpemF0aW9uLiBJbnN0ZWFkIGl0IG9ubHkgYWRkZWQg YW4gaW50ZXJtZWRpYXRlIGxheWVyIGJldHdlZW4gYXRvbWljCittb2Rlc2V0dGluZyBhbmQgdGhl IERSTSBkcml2ZXIuCisKK1RoZSB0YXNrIGhlcmUgaXMgdG8gcmVtb3ZlIGRybV9zaW1wbGVfZW5j b2Rlcl9pbml0KCkuIFNlYXJjaCBmb3IgYSBkcml2ZXIKK3RoYXQgY2FsbHMgZHJtX3NpbXBsZV9l bmNvZGVyX2luaXQoKSBhbmQgaW5saW5lIHRoZSBoZWxwZXIuIFRoZSBkcml2ZXIgd2lsbAorYWxz byBuZWVkIGl0cyBvd24gaW5zdGFuY2Ugb2YgZHJtX2VuY29kZXJfZnVuY3MuCisKK0NvbnRhY3Q6 IFRob21hcyBaaW1tZXJtYW5uLCByZXNwZWN0aXZlIGRyaXZlciBtYWludGFpbmVyCisKK0xldmVs OiBFYXN5CisKK1JlcGxhY2Ugc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlIHdpdGggcmVn dWxhciBhdG9taWMgaGVscGVycworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBkYXRhIHR5cGUgc3RydWN0IGRy bV9zaW1wbGVfZGlzcGxheV9waXBlIGFuZCBpdHMgaGVscGVycyB3ZXJlIHN1cHBvc2VkCit0byBz aW1wbGlmeSBkcml2ZXIgZGV2ZWxvcG1lbnQuIEluc3RlYWQgdGhleSBvbmx5IGFkZGVkIGFuIGlu dGVybWVkaWF0ZSBsYXllcgorYmV0d2VlbiBhdG9taWMgbW9kZXNldHRpbmcgYW5kIHRoZSBEUk0g ZHJpdmVyLgorCitUaGVyZSBhcmUgc3RpbGwgZHJpdmVycyB0aGF0IHVzZSBkcm1fc2ltcGxlX2Rp c3BsYXlfcGlwZS4gVGhlIHRhc2sgaGVyZSBpcyB0bworY29udmVydCB0aGVtIHRvIHVzZSByZWd1 bGFyIGF0b21pYyBoZWxwZXJzLiBTZWFyY2ggZm9yIGEgZHJpdmVyIHRoYXQgY2FsbHMKK2RybV9z aW1wbGVfZGlzcGxheV9waXBlX2luaXQoKSBhbmQgaW5saW5lIGFsbCBoZWxwZXJzIGZyb20gZHJt X3NpbXBsZV9rbXNfaGVscGVyLmMKK2ludG8gdGhlIGRyaXZlciwgc3VjaCB0aGF0IG5vIHNpbXBs ZS1LTVMgaW50ZXJmYWNlcyBhcmUgcmVxdWlyZWQuIFBsZWFzZSBhbHNvCityZW5hbWUgYWxsIGlu bGluZWQgZnVjbnRpb25zIGFjY29yZGluZyB0byBkcml2ZXIgY29udmVudGlvbnMuCisKK0NvbnRh Y3Q6IFRob21hcyBaaW1tZXJtYW5uLCByZXNwZWN0aXZlIGRyaXZlciBtYWludGFpbmVyCisKK0xl dmVsOiBFYXN5CisKIFJlbW92ZSBjdXN0b20gZHVtYl9tYXBfb2Zmc2V0IGltcGxlbWVudGF0aW9u cwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9j cnRjLmMKaW5kZXggOGQ2ZjcyMWMyYzlhLi42M2VhZDhiYTY3NTYgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jCkBA IC0zNDAsOCArMzQwLDcgQEAgc3RhdGljIGludCBfX2RybV9jcnRjX2luaXRfd2l0aF9wbGFuZXMo c3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9jcnRjICoKICAqIEluaXRzIGEgbmV3 IG9iamVjdCBjcmVhdGVkIGFzIGJhc2UgcGFydCBvZiBhIGRyaXZlciBjcnRjIG9iamVjdC4gRHJp dmVycwogICogc2hvdWxkIHVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgZHJtX2NydGNfaW5p dCgpLCB3aGljaCBpcyBvbmx5IHByb3ZpZGVkCiAgKiBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxp dHkgd2l0aCBkcml2ZXJzIHdoaWNoIGRvIG5vdCB5ZXQgc3VwcG9ydCB1bml2ZXJzYWwKLSAqIHBs YW5lcykuIEZvciByZWFsbHkgc2ltcGxlIGhhcmR3YXJlIHdoaWNoIGhhcyBvbmx5IDEgcGxhbmUg bG9vayBhdAotICogZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGVfaW5pdCgpIGluc3RlYWQuCisgKiBw bGFuZXMpLgogICogVGhlICZkcm1fY3J0Y19mdW5jcy5kZXN0cm95IGhvb2sgc2hvdWxkIGNhbGwg ZHJtX2NydGNfY2xlYW51cCgpIGFuZCBrZnJlZSgpCiAgKiB0aGUgY3J0YyBzdHJ1Y3R1cmUuIFRo ZSBjcnRjIHN0cnVjdHVyZSBzaG91bGQgbm90IGJlIGFsbG9jYXRlZCB3aXRoCiAgKiBkZXZtX2t6 YWxsb2MoKS4KQEAgLTQyNCw4ICs0MjMsNyBAQCBzdGF0aWMgaW50IF9fZHJtbV9jcnRjX2luaXRf d2l0aF9wbGFuZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKICAqIEluaXRzIGEgbmV3IG9iamVj dCBjcmVhdGVkIGFzIGJhc2UgcGFydCBvZiBhIGRyaXZlciBjcnRjIG9iamVjdC4gRHJpdmVycwog ICogc2hvdWxkIHVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgZHJtX2NydGNfaW5pdCgpLCB3 aGljaCBpcyBvbmx5IHByb3ZpZGVkCiAgKiBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgd2l0 aCBkcml2ZXJzIHdoaWNoIGRvIG5vdCB5ZXQgc3VwcG9ydCB1bml2ZXJzYWwKLSAqIHBsYW5lcyku IEZvciByZWFsbHkgc2ltcGxlIGhhcmR3YXJlIHdoaWNoIGhhcyBvbmx5IDEgcGxhbmUgbG9vayBh dAotICogZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGVfaW5pdCgpIGluc3RlYWQuCisgKiBwbGFuZXMp LgogICoKICAqIENsZWFudXAgaXMgYXV0b21hdGljYWxseSBoYW5kbGVkIHRocm91Z2ggcmVnaXN0 ZXJpbmcKICAqIGRybW1fY3J0Y19jbGVhbnVwKCkgd2l0aCBkcm1tX2FkZF9hY3Rpb24oKS4gVGhl IGNydGMgc3RydWN0dXJlIHNob3VsZApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9n ZW1fYXRvbWljX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fYXRvbWljX2hlbHBl ci5jCmluZGV4IDQyMWM0NjBhYzk3Mi4uYWJlZjg2NWM1ZjJjIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2dlbV9hdG9taWNfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9nZW1fYXRvbWljX2hlbHBlci5jCkBAIC04NywyOCArODcsNiBAQAogICogQSBtYXBwaW5nIGFk ZHJlc3MgZm9yIGVhY2ggb2YgdGhlIGZyYW1lYnVmZmVyJ3MgYnVmZmVyIG9iamVjdCBpcyBzdG9y ZWQgaW4KICAqIHN0cnVjdCAmZHJtX3NoYWRvd19wbGFuZV9zdGF0ZS5tYXAuIFRoZSBtYXBwaW5n cyBhcmUgdmFsaWQgd2hpbGUgdGhlIHN0YXRlCiAgKiBpcyBiZWluZyB1c2VkLgotICoKLSAqIERy aXZlcnMgdGhhdCB1c2Ugc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlIGNhbiB1c2UKLSAq ICVEUk1fR0VNX1NJTVBMRV9ESVNQTEFZX1BJUEVfU0hBRE9XX1BMQU5FX0ZVTkNTIHRvIGluaXRp YWxpemUgdGhlIHJzcAotICogY2FsbGJhY2tzLiBBY2Nlc3MgdG8gc2hhZG93LWJ1ZmZlciBtYXBw aW5ncyBpcyBzaW1pbGFyIHRvIHJlZ3VsYXIKLSAqIGF0b21pY191cGRhdGUuCi0gKgotICogLi4g Y29kZS1ibG9jazo6IGMKLSAqCi0gKglzdHJ1Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGVfZnVu Y3MgZHJpdmVyX3BpcGVfZnVuY3MgPSB7Ci0gKgkJLi4uLAotICoJCURSTV9HRU1fU0lNUExFX0RJ U1BMQVlfUElQRV9TSEFET1dfUExBTkVfRlVOQ1MsCi0gKgl9OwotICoKLSAqCXZvaWQgZHJpdmVy X3BpcGVfZW5hYmxlKHN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSwKLSAqCQkJ CXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKLSAqCQkJCXN0cnVjdCBkcm1fcGxh bmVfc3RhdGUgKnBsYW5lX3N0YXRlKQotICoJewotICoJCXN0cnVjdCBkcm1fc2hhZG93X3BsYW5l X3N0YXRlICpzaGFkb3dfcGxhbmVfc3RhdGUgPQotICoJCQl0b19kcm1fc2hhZG93X3BsYW5lX3N0 YXRlKHBsYW5lX3N0YXRlKTsKLSAqCi0gKgkJLy8gYWNjZXNzIHNoYWRvdyBidWZmZXIgdmlhIHNo YWRvd19wbGFuZV9zdGF0ZS0+bWFwCi0gKgl9CiAgKi8KIAogLyoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fbW9kZXNldF9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9k ZXNldF9oZWxwZXIuYwppbmRleCBhNTdmNmExMGFkYTQuLmQ3NzIxZGY3NDRlNyAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fbW9kZXNldF9oZWxwZXIuYwpAQCAtMTM1LDkgKzEzNSw2IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgZHJtX3BsYW5lX2Z1bmNzIHByaW1hcnlfcGxhbmVfZnVuY3MgPSB7CiAgKgogICog VGhpcyBpcyBwdXJlbHkgYSBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBoZWxwZXIgZm9yIG9sZCBk cml2ZXJzLiBEcml2ZXJzCiAgKiBzaG91bGQgaW5zdGVhZCBpbXBsZW1lbnQgdGhlaXIgb3duIHBy aW1hcnkgcGxhbmUuIEF0b21pYyBkcml2ZXJzIG11c3QgZG8gc28uCi0gKiBEcml2ZXJzIHdpdGgg dGhlIGFib3ZlIGhhcmR3YXJlIHJlc3RyaWN0aW9uIGNhbiBsb29rIGludG8gdXNpbmcgJnN0cnVj dAotICogZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGUsIHdoaWNoIGVuY2Fwc3VsYXRlcyB0aGUgYWJv dmUgbGltaXRhdGlvbnMgaW50byBhIG5pY2UKLSAqIGludGVyZmFjZS4KICAqCiAgKiBSZXR1cm5z OgogICogWmVybyBvbiBzdWNjZXNzLCBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZHJtX3NpbXBsZV9rbXNfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX3NpbXBsZV9rbXNfaGVscGVyLmMKaW5kZXggZmNiY2FhYTM2YjVmLi40ZDkxNTEzYTFl MzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3NpbXBsZV9rbXNfaGVscGVyLmMKQEAgLTE2LDU1ICsx NiwxMCBAQAogI2luY2x1ZGUgPGRybS9kcm1fcHJvYmVfaGVscGVyLmg+CiAjaW5jbHVkZSA8ZHJt L2RybV9zaW1wbGVfa21zX2hlbHBlci5oPgogCi0vKioKLSAqIERPQzogb3ZlcnZpZXcKLSAqCi0g KiBUaGlzIGhlbHBlciBsaWJyYXJ5IHByb3ZpZGVzIGhlbHBlcnMgZm9yIGRyaXZlcnMgZm9yIHNp bXBsZSBkaXNwbGF5Ci0gKiBoYXJkd2FyZS4KLSAqCi0gKiBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlw ZV9pbml0KCkgaW5pdGlhbGl6ZXMgYSBzaW1wbGUgZGlzcGxheSBwaXBlbGluZQotICogd2hpY2gg aGFzIG9ubHkgb25lIGZ1bGwtc2NyZWVuIHNjYW5vdXQgYnVmZmVyIGZlZWRpbmcgb25lIG91dHB1 dC4gVGhlCi0gKiBwaXBlbGluZSBpcyByZXByZXNlbnRlZCBieSAmc3RydWN0IGRybV9zaW1wbGVf ZGlzcGxheV9waXBlIGFuZCBiaW5kcwotICogdG9nZXRoZXIgJmRybV9wbGFuZSwgJmRybV9jcnRj IGFuZCAmZHJtX2VuY29kZXIgc3RydWN0dXJlcyBpbnRvIG9uZSBmaXhlZAotICogZW50aXR5LiBT b21lIGZsZXhpYmlsaXR5IGZvciBjb2RlIHJldXNlIGlzIHByb3ZpZGVkIHRocm91Z2ggYSBzZXBh cmF0ZWx5Ci0gKiBhbGxvY2F0ZWQgJmRybV9jb25uZWN0b3Igb2JqZWN0IGFuZCBzdXBwb3J0aW5n IG9wdGlvbmFsICZkcm1fYnJpZGdlCi0gKiBlbmNvZGVyIGRyaXZlcnMuCi0gKgotICogTWFueSBk cml2ZXJzIHJlcXVpcmUgb25seSBhIHZlcnkgc2ltcGxlIGVuY29kZXIgdGhhdCBmdWxmaWxscyB0 aGUgbWluaW11bQotICogcmVxdWlyZW1lbnRzIG9mIHRoZSBkaXNwbGF5IHBpcGVsaW5lIGFuZCBk b2VzIG5vdCBhZGQgYWRkaXRpb25hbAotICogZnVuY3Rpb25hbGl0eS4gVGhlIGZ1bmN0aW9uIGRy bV9zaW1wbGVfZW5jb2Rlcl9pbml0KCkgcHJvdmlkZXMgYW4KLSAqIGltcGxlbWVudGF0aW9uIG9m IHN1Y2ggYW4gZW5jb2Rlci4KLSAqLwotCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9lbmNvZGVy X2Z1bmNzIGRybV9zaW1wbGVfZW5jb2Rlcl9mdW5jc19jbGVhbnVwID0gewogCS5kZXN0cm95ID0g ZHJtX2VuY29kZXJfY2xlYW51cCwKIH07CiAKLS8qKgotICogZHJtX3NpbXBsZV9lbmNvZGVyX2lu aXQgLSBJbml0aWFsaXplIGEgcHJlYWxsb2NhdGVkIGVuY29kZXIgd2l0aAotICogICAgICAgICAg ICAgICAgICAgICAgICAgICBiYXNpYyBmdW5jdGlvbmFsaXR5LgotICogQGRldjogZHJtIGRldmlj ZQotICogQGVuY29kZXI6IHRoZSBlbmNvZGVyIHRvIGluaXRpYWxpemUKLSAqIEBlbmNvZGVyX3R5 cGU6IHVzZXIgdmlzaWJsZSB0eXBlIG9mIHRoZSBlbmNvZGVyCi0gKgotICogSW5pdGlhbGlzZXMg YSBwcmVhbGxvY2F0ZWQgZW5jb2RlciB0aGF0IGhhcyBubyBmdXJ0aGVyIGZ1bmN0aW9uYWxpdHku Ci0gKiBTZXR0aW5ncyBmb3IgcG9zc2libGUgQ1JUQyBhbmQgY2xvbmVzIGFyZSBsZWZ0IHRvIHRo ZWlyIGluaXRpYWwgdmFsdWVzLgotICogVGhlIGVuY29kZXIgd2lsbCBiZSBjbGVhbmVkIHVwIGF1 dG9tYXRpY2FsbHkgYXMgcGFydCBvZiB0aGUgbW9kZS1zZXR0aW5nCi0gKiBjbGVhbnVwLgotICoK LSAqIFRoZSBjYWxsZXIgb2YgZHJtX3NpbXBsZV9lbmNvZGVyX2luaXQoKSBpcyByZXNwb25zaWJs ZSBmb3IgZnJlZWluZwotICogdGhlIGVuY29kZXIncyBtZW1vcnkgYWZ0ZXIgdGhlIGVuY29kZXIg aGFzIGJlZW4gY2xlYW5lZCB1cC4gQXQgdGhlCi0gKiBtb21lbnQgdGhpcyBvbmx5IHdvcmtzIHJl bGlhYmx5IGlmIHRoZSBlbmNvZGVyIGRhdGEgc3RydWN0dXJlIGlzCi0gKiBzdG9yZWQgaW4gdGhl IGRldmljZSBzdHJ1Y3R1cmUuIEZyZWUgdGhlIGVuY29kZXIncyBtZW1vcnkgYXMgcGFydCBvZgot ICogdGhlIGRldmljZSByZWxlYXNlIGZ1bmN0aW9uLgotICoKLSAqIE5vdGU6IGNvbnNpZGVyIHVz aW5nIGRybW1fc2ltcGxlX2VuY29kZXJfYWxsb2MoKSBpbnN0ZWFkIG9mCi0gKiBkcm1fc2ltcGxl X2VuY29kZXJfaW5pdCgpIHRvIGxldCB0aGUgRFJNIG1hbmFnZWQgcmVzb3VyY2UgaW5mcmFzdHJ1 Y3R1cmUKLSAqIHRha2UgY2FyZSBvZiBjbGVhbnVwIGFuZCBkZWFsbG9jYXRpb24uCi0gKgotICog UmV0dXJuczoKLSAqIFplcm8gb24gc3VjY2VzcywgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgotICov CiBpbnQgZHJtX3NpbXBsZV9lbmNvZGVyX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJ CSAgICBzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJCQkgICAgaW50IGVuY29kZXJfdHlw ZSkKQEAgLTM3MCwyMCArMzI1LDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVu Y3MgZHJtX3NpbXBsZV9rbXNfcGxhbmVfZnVuY3MgPSB7CiAJLmZvcm1hdF9tb2Rfc3VwcG9ydGVk ICAgPSBkcm1fc2ltcGxlX2ttc19mb3JtYXRfbW9kX3N1cHBvcnRlZCwKIH07CiAKLS8qKgotICog ZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGVfYXR0YWNoX2JyaWRnZSAtIEF0dGFjaCBhIGJyaWRnZSB0 byB0aGUgZGlzcGxheSBwaXBlCi0gKiBAcGlwZTogc2ltcGxlIGRpc3BsYXkgcGlwZSBvYmplY3QK LSAqIEBicmlkZ2U6IGJyaWRnZSB0byBhdHRhY2gKLSAqCi0gKiBNYWtlcyBpdCBwb3NzaWJsZSB0 byBzdGlsbCB1c2UgdGhlIGRybV9zaW1wbGVfZGlzcGxheV9waXBlIGhlbHBlcnMgd2hlbgotICog YSBEUk0gYnJpZGdlIGhhcyB0byBiZSB1c2VkLgotICoKLSAqIE5vdGUgdGhhdCB5b3UgcHJvYmFi bHkgd2FudCB0byBpbml0aWFsaXplIHRoZSBwaXBlIGJ5IHBhc3NpbmcgYSBOVUxMCi0gKiBjb25u ZWN0b3IgdG8gZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGVfaW5pdCgpLgotICoKLSAqIFJldHVybnM6 Ci0gKiBaZXJvIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KLSAq LwogaW50IGRybV9zaW1wbGVfZGlzcGxheV9waXBlX2F0dGFjaF9icmlkZ2Uoc3RydWN0IGRybV9z aW1wbGVfZGlzcGxheV9waXBlICpwaXBlLAogCQkJCQkgIHN0cnVjdCBkcm1fYnJpZGdlICpicmlk Z2UpCiB7CkBAIC0zOTEsMzAgKzMzMiw2IEBAIGludCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZV9h dHRhY2hfYnJpZGdlKHN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSwKIH0KIEVY UE9SVF9TWU1CT0woZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGVfYXR0YWNoX2JyaWRnZSk7CiAKLS8q KgotICogZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGVfaW5pdCAtIEluaXRpYWxpemUgYSBzaW1wbGUg ZGlzcGxheSBwaXBlbGluZQotICogQGRldjogRFJNIGRldmljZQotICogQHBpcGU6IHNpbXBsZSBk aXNwbGF5IHBpcGUgb2JqZWN0IHRvIGluaXRpYWxpemUKLSAqIEBmdW5jczogY2FsbGJhY2tzIGZv ciB0aGUgZGlzcGxheSBwaXBlIChvcHRpb25hbCkKLSAqIEBmb3JtYXRzOiBhcnJheSBvZiBzdXBw b3J0ZWQgZm9ybWF0cyAoRFJNX0ZPUk1BVFxfXCopCi0gKiBAZm9ybWF0X2NvdW50OiBudW1iZXIg b2YgZWxlbWVudHMgaW4gQGZvcm1hdHMKLSAqIEBmb3JtYXRfbW9kaWZpZXJzOiBhcnJheSBvZiBm b3JtYXRzIG1vZGlmaWVycwotICogQGNvbm5lY3RvcjogY29ubmVjdG9yIHRvIGF0dGFjaCBhbmQg cmVnaXN0ZXIgKG9wdGlvbmFsKQotICoKLSAqIFNldHMgdXAgYSBkaXNwbGF5IHBpcGVsaW5lIHdo aWNoIGNvbnNpc3Qgb2YgYSByZWFsbHkgc2ltcGxlCi0gKiBwbGFuZS1jcnRjLWVuY29kZXIgcGlw ZS4KLSAqCi0gKiBJZiBhIGNvbm5lY3RvciBpcyBzdXBwbGllZCwgdGhlIHBpcGUgd2lsbCBiZSBj b3VwbGVkIHdpdGggdGhlIHByb3ZpZGVkCi0gKiBjb25uZWN0b3IuIFlvdSBtYXkgc3VwcGx5IGEg TlVMTCBjb25uZWN0b3Igd2hlbiB1c2luZyBkcm0gYnJpZGdlcywgdGhhdAotICogaGFuZGxlIGNv bm5lY3RvcnMgdGhlbXNlbHZlcyAoc2VlIGRybV9zaW1wbGVfZGlzcGxheV9waXBlX2F0dGFjaF9i cmlkZ2UoKSkuCi0gKgotICogVGVhcmRvd24gb2YgYSBzaW1wbGUgZGlzcGxheSBwaXBlIGlzIGFs bCBoYW5kbGVkIGF1dG9tYXRpY2FsbHkgYnkgdGhlIGRybQotICogY29yZSB0aHJvdWdoIGNhbGxp bmcgZHJtX21vZGVfY29uZmlnX2NsZWFudXAoKS4gRHJpdmVycyBhZnRlcndhcmRzIG5lZWQgdG8K LSAqIHJlbGVhc2UgdGhlIG1lbW9yeSBmb3IgdGhlIHN0cnVjdHVyZSB0aGVtc2VsdmVzLgotICoK LSAqIFJldHVybnM6Ci0gKiBaZXJvIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24g ZmFpbHVyZS4KLSAqLwogaW50IGRybV9zaW1wbGVfZGlzcGxheV9waXBlX2luaXQoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKIAkJCXN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSwK IAkJCWNvbnN0IHN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZV9mdW5jcyAqZnVuY3MsCmRp ZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIuaCBiL2luY2x1ZGUv ZHJtL2RybV9zaW1wbGVfa21zX2hlbHBlci5oCmluZGV4IGIyNDg2ZDA3Mzc2My4uY2I2NzJjZTBl ODU2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIuaAorKysg Yi9pbmNsdWRlL2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIuaApAQCAtMyw2ICszLDExIEBACiAg KiBDb3B5cmlnaHQgKEMpIDIwMTYgTm9yYWxmIFRyw7hubmVzCiAgKi8KIAorLyoKKyAqIFNpbXBs ZSBLTVMgaGVscGVycyBhcmUgZGVwcmVjdGVkIGluIGZhdm9yIG9mIHJlZ3VsYXIgYXRvbWljIGhl bHBlcnMuIERvIG5vdAorICogdXNlIHRoZSBtaW4gbmV3IGNvZGUuCisgKi8KKwogI2lmbmRlZiBf X0xJTlVYX0RSTV9TSU1QTEVfS01TX0hFTFBFUl9ICiAjZGVmaW5lIF9fTElOVVhfRFJNX1NJTVBM RV9LTVNfSEVMUEVSX0gKIApAQCAtMTIsMjMzICsxNywzOCBAQAogCiBzdHJ1Y3QgZHJtX3NpbXBs ZV9kaXNwbGF5X3BpcGU7CiAKLS8qKgotICogc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBl X2Z1bmNzIC0gaGVscGVyIG9wZXJhdGlvbnMgZm9yIGEgc2ltcGxlCi0gKiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHBpcGVsaW5lCi0gKi8KIHN0cnVjdCBk cm1fc2ltcGxlX2Rpc3BsYXlfcGlwZV9mdW5jcyB7Ci0JLyoqCi0JICogQG1vZGVfdmFsaWQ6Ci0J ICoKLQkgKiBUaGlzIGNhbGxiYWNrIGlzIHVzZWQgdG8gY2hlY2sgaWYgYSBzcGVjaWZpYyBtb2Rl IGlzIHZhbGlkIGluIHRoZQotCSAqIGNydGMgdXNlZCBpbiB0aGlzIHNpbXBsZSBkaXNwbGF5IHBp cGUuIFRoaXMgc2hvdWxkIGJlIGltcGxlbWVudGVkCi0JICogaWYgdGhlIGRpc3BsYXkgcGlwZSBo YXMgc29tZSBzb3J0IG9mIHJlc3RyaWN0aW9uIGluIHRoZSBtb2RlcwotCSAqIGl0IGNhbiBkaXNw bGF5LiBGb3IgZXhhbXBsZSwgYSBnaXZlbiBkaXNwbGF5IHBpcGUgbWF5IGJlIHJlc3BvbnNpYmxl Ci0JICogdG8gc2V0IGEgY2xvY2sgdmFsdWUuIElmIHRoZSBjbG9jayBjYW4gbm90IHByb2R1Y2Ug YWxsIHRoZSB2YWx1ZXMKLQkgKiBmb3IgdGhlIGF2YWlsYWJsZSBtb2RlcyB0aGVuIHRoaXMgY2Fs bGJhY2sgY2FuIGJlIHVzZWQgdG8gcmVzdHJpY3QKLQkgKiB0aGUgbnVtYmVyIG9mIG1vZGVzIHRv IG9ubHkgdGhlIG9uZXMgdGhhdCBjYW4gYmUgZGlzcGxheWVkLiBBbm90aGVyCi0JICogcmVhc29u IGNhbiBiZSBiYW5kd2lkdGggbWl0aWdhdGlvbjogdGhlIG1lbW9yeSBwb3J0IG9uIHRoZSBkaXNw bGF5Ci0JICogY29udHJvbGxlciBjYW4gaGF2ZSBiYW5kd2lkdGggbGltaXRhdGlvbnMgbm90IGFs bG93aW5nIHBpeGVsIGRhdGEKLQkgKiB0byBiZSBmZXRjaGVkIGF0IGFueSByYXRlLgotCSAqCi0J ICogVGhpcyBob29rIGlzIHVzZWQgYnkgdGhlIHByb2JlIGhlbHBlcnMgdG8gZmlsdGVyIHRoZSBt b2RlIGxpc3QgaW4KLQkgKiBkcm1faGVscGVyX3Byb2JlX3NpbmdsZV9jb25uZWN0b3JfbW9kZXMo KSwgYW5kIGl0IGlzIHVzZWQgYnkgdGhlCi0JICogYXRvbWljIGhlbHBlcnMgdG8gdmFsaWRhdGUg bW9kZXMgc3VwcGxpZWQgYnkgdXNlcnNwYWNlIGluCi0JICogZHJtX2F0b21pY19oZWxwZXJfY2hl Y2tfbW9kZXNldCgpLgotCSAqCi0JICogVGhpcyBmdW5jdGlvbiBpcyBvcHRpb25hbC4KLQkgKgot CSAqIE5PVEU6Ci0JICoKLQkgKiBTaW5jZSB0aGlzIGZ1bmN0aW9uIGlzIGJvdGggY2FsbGVkIGZy b20gdGhlIGNoZWNrIHBoYXNlIG9mIGFuIGF0b21pYwotCSAqIGNvbW1pdCwgYW5kIHRoZSBtb2Rl IHZhbGlkYXRpb24gaW4gdGhlIHByb2JlIHBhdGhzIGl0IGlzIG5vdCBhbGxvd2VkCi0JICogdG8g bG9vayBhdCBhbnl0aGluZyBlbHNlIGJ1dCB0aGUgcGFzc2VkLWluIG1vZGUsIGFuZCB2YWxpZGF0 ZSBpdAotCSAqIGFnYWluc3QgY29uZmlndXJhdGlvbi1pbnZhcmlhbnQgaGFyZHdhcmUgY29uc3Ry YWludHMuCi0JICoKLQkgKiBSRVRVUk5TOgotCSAqCi0JICogZHJtX21vZGVfc3RhdHVzIEVudW0K LQkgKi8KIAllbnVtIGRybV9tb2RlX3N0YXR1cyAoKm1vZGVfdmFsaWQpKHN0cnVjdCBkcm1fc2lt cGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSwKIAkJCQkJICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKm1vZGUpOwotCi0JLyoqCi0JICogQGVuYWJsZToKLQkgKgotCSAqIFRoaXMgZnVuY3Rp b24gc2hvdWxkIGJlIHVzZWQgdG8gZW5hYmxlIHRoZSBwaXBlbGluZS4KLQkgKiBJdCBpcyBjYWxs ZWQgd2hlbiB0aGUgdW5kZXJseWluZyBjcnRjIGlzIGVuYWJsZWQuCi0JICogVGhpcyBob29rIGlz IG9wdGlvbmFsLgotCSAqLwogCXZvaWQgKCplbmFibGUpKHN0cnVjdCBkcm1fc2ltcGxlX2Rpc3Bs YXlfcGlwZSAqcGlwZSwKIAkJICAgICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSwKIAkJICAgICAgIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKTsKLQkvKioK LQkgKiBAZGlzYWJsZToKLQkgKgotCSAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIHVzZWQgdG8g ZGlzYWJsZSB0aGUgcGlwZWxpbmUuCi0JICogSXQgaXMgY2FsbGVkIHdoZW4gdGhlIHVuZGVybHlp bmcgY3J0YyBpcyBkaXNhYmxlZC4KLQkgKiBUaGlzIGhvb2sgaXMgb3B0aW9uYWwuCi0JICovCiAJ dm9pZCAoKmRpc2FibGUpKHN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSk7Ci0K LQkvKioKLQkgKiBAY2hlY2s6Ci0JICoKLQkgKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBpbiB0 aGUgY2hlY2sgcGhhc2Ugb2YgYW4gYXRvbWljIHVwZGF0ZSwKLQkgKiBzcGVjaWZpY2FsbHkgd2hl biB0aGUgdW5kZXJseWluZyBwbGFuZSBpcyBjaGVja2VkLgotCSAqIFRoZSBzaW1wbGUgZGlzcGxh eSBwaXBlbGluZSBoZWxwZXJzIGFscmVhZHkgY2hlY2sgdGhhdCB0aGUgcGxhbmUgaXMKLQkgKiBu b3Qgc2NhbGVkLCBmaWxscyB0aGUgZW50aXJlIHZpc2libGUgYXJlYSBhbmQgaXMgYWx3YXlzIGVu YWJsZWQKLQkgKiB3aGVuIHRoZSBjcnRjIGlzIGFsc28gZW5hYmxlZC4KLQkgKiBUaGlzIGhvb2sg aXMgb3B0aW9uYWwuCi0JICoKLQkgKiBSRVRVUk5TOgotCSAqCi0JICogMCBvbiBzdWNjZXNzLCAt RUlOVkFMIGlmIHRoZSBzdGF0ZSBvciB0aGUgdHJhbnNpdGlvbiBjYW4ndCBiZQotCSAqIHN1cHBv cnRlZCwgLUVOT01FTSBvbiBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsdXJlIGFuZCAtRURFQURMSyBp ZiBhbgotCSAqIGF0dGVtcHQgdG8gb2J0YWluIGFub3RoZXIgc3RhdGUgb2JqZWN0IHJhbiBpbnRv IGEgJmRybV9tb2Rlc2V0X2xvY2sKLQkgKiBkZWFkbG9jay4KLQkgKi8KIAlpbnQgKCpjaGVjayko c3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlICpwaXBlLAogCQkgICAgIHN0cnVjdCBkcm1f cGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlLAogCQkgICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSk7Ci0JLyoqCi0JICogQHVwZGF0ZToKLQkgKgotCSAqIFRoaXMgZnVuY3Rpb24g aXMgY2FsbGVkIHdoZW4gdGhlIHVuZGVybHlpbmcgcGxhbmUgc3RhdGUgaXMgdXBkYXRlZC4KLQkg KiBUaGlzIGhvb2sgaXMgb3B0aW9uYWwuCi0JICoKLQkgKiBUaGlzIGlzIHRoZSBmdW5jdGlvbiBk cml2ZXJzIHNob3VsZCBzdWJtaXQgdGhlCi0JICogJmRybV9wZW5kaW5nX3ZibGFua19ldmVudCBm cm9tLiBVc2luZyBlaXRoZXIKLQkgKiBkcm1fY3J0Y19hcm1fdmJsYW5rX2V2ZW50KCksIHdoZW4g dGhlIGRyaXZlciBzdXBwb3J0cyB2YmxhbmsKLQkgKiBpbnRlcnJ1cHQgaGFuZGxpbmcsIG9yIGRy bV9jcnRjX3NlbmRfdmJsYW5rX2V2ZW50KCkgZm9yIG1vcmUKLQkgKiBjb21wbGV4IGNhc2UuIElu IGNhc2UgdGhlIGhhcmR3YXJlIGxhY2tzIHZibGFuayBzdXBwb3J0IGVudGlyZWx5LAotCSAqIGRy aXZlcnMgY2FuIHNldCAmc3RydWN0IGRybV9jcnRjX3N0YXRlLm5vX3ZibGFuayBpbgotCSAqICZz dHJ1Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGVfZnVuY3MuY2hlY2sgYW5kIGxldCBEUk0ncwot CSAqIGF0b21pYyBoZWxwZXIgZmFrZSBhIHZibGFuayBldmVudC4KLQkgKi8KIAl2b2lkICgqdXBk YXRlKShzdHJ1Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGUgKnBpcGUsCiAJCSAgICAgICBzdHJ1 Y3QgZHJtX3BsYW5lX3N0YXRlICpvbGRfcGxhbmVfc3RhdGUpOwotCi0JLyoqCi0JICogQHByZXBh cmVfZmI6Ci0JICoKLQkgKiBPcHRpb25hbCwgY2FsbGVkIGJ5ICZkcm1fcGxhbmVfaGVscGVyX2Z1 bmNzLnByZXBhcmVfZmIuICBQbGVhc2UgcmVhZAotCSAqIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0 aGUgJmRybV9wbGFuZV9oZWxwZXJfZnVuY3MucHJlcGFyZV9mYiBob29rIGZvcgotCSAqIG1vcmUg ZGV0YWlscy4KLQkgKgotCSAqIEZvciBHRU0gZHJpdmVycyB3aG8gbmVpdGhlciBoYXZlIGEgQHBy ZXBhcmVfZmIgbm9yIEBjbGVhbnVwX2ZiIGhvb2sKLQkgKiBzZXQsIGRybV9nZW1fcGxhbmVfaGVs cGVyX3ByZXBhcmVfZmIoKSBpcyBjYWxsZWQgYXV0b21hdGljYWxseQotCSAqIHRvIGltcGxlbWVu dCB0aGlzLiBPdGhlciBkcml2ZXJzIHdoaWNoIG5lZWQgYWRkaXRpb25hbCBwbGFuZQotCSAqIHBy b2Nlc3NpbmcgY2FuIGNhbGwgZHJtX2dlbV9wbGFuZV9oZWxwZXJfcHJlcGFyZV9mYigpIGZyb20K LQkgKiB0aGVpciBAcHJlcGFyZV9mYiBob29rLgotCSAqLwogCWludCAoKnByZXBhcmVfZmIpKHN0 cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSwKIAkJCSAgc3RydWN0IGRybV9wbGFu ZV9zdGF0ZSAqcGxhbmVfc3RhdGUpOwotCi0JLyoqCi0JICogQGNsZWFudXBfZmI6Ci0JICoKLQkg KiBPcHRpb25hbCwgY2FsbGVkIGJ5ICZkcm1fcGxhbmVfaGVscGVyX2Z1bmNzLmNsZWFudXBfZmIu ICBQbGVhc2UgcmVhZAotCSAqIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgJmRybV9wbGFuZV9o ZWxwZXJfZnVuY3MuY2xlYW51cF9mYiBob29rIGZvcgotCSAqIG1vcmUgZGV0YWlscy4KLQkgKi8K IAl2b2lkICgqY2xlYW51cF9mYikoc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlICpwaXBl LAogCQkJICAgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpOwotCi0JLyoqCi0J ICogQGJlZ2luX2ZiX2FjY2VzczoKLQkgKgotCSAqIE9wdGlvbmFsLCBjYWxsZWQgYnkgJmRybV9w bGFuZV9oZWxwZXJfZnVuY3MuYmVnaW5fZmJfYWNjZXNzLiBQbGVhc2UgcmVhZAotCSAqIHRoZSBk b2N1bWVudGF0aW9uIGZvciB0aGUgJmRybV9wbGFuZV9oZWxwZXJfZnVuY3MuYmVnaW5fZmJfYWNj ZXNzIGhvb2sgZm9yCi0JICogbW9yZSBkZXRhaWxzLgotCSAqLwogCWludCAoKmJlZ2luX2ZiX2Fj Y2Vzcykoc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlICpwaXBlLAogCQkJICAgICAgIHN0 cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm5ld19wbGFuZV9zdGF0ZSk7Ci0KLQkvKioKLQkgKiBAZW5k X2ZiX2FjY2VzczoKLQkgKgotCSAqIE9wdGlvbmFsLCBjYWxsZWQgYnkgJmRybV9wbGFuZV9oZWxw ZXJfZnVuY3MuZW5kX2ZiX2FjY2Vzcy4gUGxlYXNlIHJlYWQKLQkgKiB0aGUgZG9jdW1lbnRhdGlv biBmb3IgdGhlICZkcm1fcGxhbmVfaGVscGVyX2Z1bmNzLmVuZF9mYl9hY2Nlc3MgaG9vayBmb3IK LQkgKiBtb3JlIGRldGFpbHMuCi0JICovCiAJdm9pZCAoKmVuZF9mYl9hY2Nlc3MpKHN0cnVjdCBk cm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSwKIAkJCSAgICAgIHN0cnVjdCBkcm1fcGxhbmVf c3RhdGUgKnBsYW5lX3N0YXRlKTsKLQotCS8qKgotCSAqIEBlbmFibGVfdmJsYW5rOgotCSAqCi0J ICogT3B0aW9uYWwsIGNhbGxlZCBieSAmZHJtX2NydGNfZnVuY3MuZW5hYmxlX3ZibGFuay4gUGxl YXNlIHJlYWQKLQkgKiB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlICZkcm1fY3J0Y19mdW5jcy5l bmFibGVfdmJsYW5rIGhvb2sgZm9yCi0JICogbW9yZSBkZXRhaWxzLgotCSAqLwogCWludCAoKmVu YWJsZV92YmxhbmspKHN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSk7Ci0KLQkv KioKLQkgKiBAZGlzYWJsZV92Ymxhbms6Ci0JICoKLQkgKiBPcHRpb25hbCwgY2FsbGVkIGJ5ICZk cm1fY3J0Y19mdW5jcy5kaXNhYmxlX3ZibGFuay4gUGxlYXNlIHJlYWQKLQkgKiB0aGUgZG9jdW1l bnRhdGlvbiBmb3IgdGhlICZkcm1fY3J0Y19mdW5jcy5kaXNhYmxlX3ZibGFuayBob29rIGZvcgot CSAqIG1vcmUgZGV0YWlscy4KLQkgKi8KIAl2b2lkICgqZGlzYWJsZV92YmxhbmspKHN0cnVjdCBk cm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSk7Ci0KLQkvKioKLQkgKiBAcmVzZXRfY3J0YzoK LQkgKgotCSAqIE9wdGlvbmFsLCBjYWxsZWQgYnkgJmRybV9jcnRjX2Z1bmNzLnJlc2V0LiBQbGVh c2UgcmVhZCB0aGUKLQkgKiBkb2N1bWVudGF0aW9uIGZvciB0aGUgJmRybV9jcnRjX2Z1bmNzLnJl c2V0IGhvb2sgZm9yIG1vcmUgZGV0YWlscy4KLQkgKi8KIAl2b2lkICgqcmVzZXRfY3J0Yykoc3Ry dWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlICpwaXBlKTsKLQotCS8qKgotCSAqIEBkdXBsaWNh dGVfY3J0Y19zdGF0ZToKLQkgKgotCSAqIE9wdGlvbmFsLCBjYWxsZWQgYnkgJmRybV9jcnRjX2Z1 bmNzLmF0b21pY19kdXBsaWNhdGVfc3RhdGUuIFBsZWFzZQotCSAqIHJlYWQgdGhlIGRvY3VtZW50 YXRpb24gZm9yIHRoZSAmZHJtX2NydGNfZnVuY3MuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZQotCSAq IGhvb2sgZm9yIG1vcmUgZGV0YWlscy4KLQkgKi8KIAlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKiAo KmR1cGxpY2F0ZV9jcnRjX3N0YXRlKShzdHJ1Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGUgKnBp cGUpOwotCi0JLyoqCi0JICogQGRlc3Ryb3lfY3J0Y19zdGF0ZToKLQkgKgotCSAqIE9wdGlvbmFs LCBjYWxsZWQgYnkgJmRybV9jcnRjX2Z1bmNzLmF0b21pY19kZXN0cm95X3N0YXRlLiBQbGVhc2UK LQkgKiByZWFkIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgJmRybV9jcnRjX2Z1bmNzLmF0b21p Y19kZXN0cm95X3N0YXRlCi0JICogaG9vayBmb3IgbW9yZSBkZXRhaWxzLgotCSAqLwogCXZvaWQg KCpkZXN0cm95X2NydGNfc3RhdGUpKHN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlw ZSwKIAkJCQkgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwotCi0JLyoqCi0J ICogQHJlc2V0X3BsYW5lOgotCSAqCi0JICogT3B0aW9uYWwsIGNhbGxlZCBieSAmZHJtX3BsYW5l X2Z1bmNzLnJlc2V0LiBQbGVhc2UgcmVhZCB0aGUKLQkgKiBkb2N1bWVudGF0aW9uIGZvciB0aGUg JmRybV9wbGFuZV9mdW5jcy5yZXNldCBob29rIGZvciBtb3JlIGRldGFpbHMuCi0JICovCiAJdm9p ZCAoKnJlc2V0X3BsYW5lKShzdHJ1Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGUgKnBpcGUpOwot Ci0JLyoqCi0JICogQGR1cGxpY2F0ZV9wbGFuZV9zdGF0ZToKLQkgKgotCSAqIE9wdGlvbmFsLCBj YWxsZWQgYnkgJmRybV9wbGFuZV9mdW5jcy5hdG9taWNfZHVwbGljYXRlX3N0YXRlLiAgUGxlYXNl Ci0JICogcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlICZkcm1fcGxhbmVfZnVuY3MuYXRv bWljX2R1cGxpY2F0ZV9zdGF0ZQotCSAqIGhvb2sgZm9yIG1vcmUgZGV0YWlscy4KLQkgKi8KIAlz dHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICogKCpkdXBsaWNhdGVfcGxhbmVfc3RhdGUpKHN0cnVjdCBk cm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSk7Ci0KLQkvKioKLQkgKiBAZGVzdHJveV9wbGFu ZV9zdGF0ZToKLQkgKgotCSAqIE9wdGlvbmFsLCBjYWxsZWQgYnkgJmRybV9wbGFuZV9mdW5jcy5h dG9taWNfZGVzdHJveV9zdGF0ZS4gIFBsZWFzZQotCSAqIHJlYWQgdGhlIGRvY3VtZW50YXRpb24g Zm9yIHRoZSAmZHJtX3BsYW5lX2Z1bmNzLmF0b21pY19kZXN0cm95X3N0YXRlCi0JICogaG9vayBm b3IgbW9yZSBkZXRhaWxzLgotCSAqLwogCXZvaWQgKCpkZXN0cm95X3BsYW5lX3N0YXRlKShzdHJ1 Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGUgKnBpcGUsCiAJCQkJICAgIHN0cnVjdCBkcm1fcGxh bmVfc3RhdGUgKnBsYW5lX3N0YXRlKTsKIH07CiAKLS8qKgotICogc3RydWN0IGRybV9zaW1wbGVf ZGlzcGxheV9waXBlIC0gc2ltcGxlIGRpc3BsYXkgcGlwZWxpbmUKLSAqIEBjcnRjOiBDUlRDIGNv bnRyb2wgc3RydWN0dXJlCi0gKiBAcGxhbmU6IFBsYW5lIGNvbnRyb2wgc3RydWN0dXJlCi0gKiBA ZW5jb2RlcjogRW5jb2RlciBjb250cm9sIHN0cnVjdHVyZQotICogQGNvbm5lY3RvcjogQ29ubmVj dG9yIGNvbnRyb2wgc3RydWN0dXJlCi0gKiBAZnVuY3M6IFBpcGVsaW5lIGNvbnRyb2wgZnVuY3Rp b25zIChvcHRpb25hbCkKLSAqCi0gKiBTaW1wbGUgZGlzcGxheSBwaXBlbGluZSB3aXRoIHBsYW5l LCBjcnRjIGFuZCBlbmNvZGVyIGNvbGxhcHNlZCBpbnRvIG9uZQotICogZW50aXR5LiBJdCBzaG91 bGQgYmUgaW5pdGlhbGl6ZWQgYnkgY2FsbGluZyBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZV9pbml0 KCkuCi0gKi8KIHN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSB7CiAJc3RydWN0IGRybV9j cnRjIGNydGM7CiAJc3RydWN0IGRybV9wbGFuZSBwbGFuZTsKQEAgLTI2NSwyMiArNzUsNiBAQCBp bnQgZHJtX3NpbXBsZV9lbmNvZGVyX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIHZvaWQg Kl9fZHJtbV9zaW1wbGVfZW5jb2Rlcl9hbGxvYyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzaXpl X3Qgc2l6ZSwKIAkJCQkgIHNpemVfdCBvZmZzZXQsIGludCBlbmNvZGVyX3R5cGUpOwogCi0vKioK LSAqIGRybW1fc2ltcGxlX2VuY29kZXJfYWxsb2MgLSBBbGxvY2F0ZSBhbmQgaW5pdGlhbGl6ZSBh biBlbmNvZGVyIHdpdGggYmFzaWMKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5j dGlvbmFsaXR5LgotICogQGRldjogZHJtIGRldmljZQotICogQHR5cGU6IHRoZSB0eXBlIG9mIHRo ZSBzdHJ1Y3Qgd2hpY2ggY29udGFpbnMgc3RydWN0ICZkcm1fZW5jb2RlcgotICogQG1lbWJlcjog dGhlIG5hbWUgb2YgdGhlICZkcm1fZW5jb2RlciB3aXRoaW4gQHR5cGUuCi0gKiBAZW5jb2Rlcl90 eXBlOiB1c2VyIHZpc2libGUgdHlwZSBvZiB0aGUgZW5jb2RlcgotICoKLSAqIEFsbG9jYXRlcyBh bmQgaW5pdGlhbGl6ZXMgYW4gZW5jb2RlciB0aGF0IGhhcyBubyBmdXJ0aGVyIGZ1bmN0aW9uYWxp dHkuCi0gKiBTZXR0aW5ncyBmb3IgcG9zc2libGUgQ1JUQyBhbmQgY2xvbmVzIGFyZSBsZWZ0IHRv IHRoZWlyIGluaXRpYWwgdmFsdWVzLgotICogQ2xlYW51cCBpcyBhdXRvbWF0aWNhbGx5IGhhbmRs ZWQgdGhyb3VnaCByZWdpc3RlcmluZyBkcm1fZW5jb2Rlcl9jbGVhbnVwKCkKLSAqIHdpdGggZHJt bV9hZGRfYWN0aW9uKCkuCi0gKgotICogUmV0dXJuczoKLSAqIFBvaW50ZXIgdG8gbmV3IGVuY29k ZXIsIG9yIEVSUl9QVFIgb24gZmFpbHVyZS4KLSAqLwogI2RlZmluZSBkcm1tX3NpbXBsZV9lbmNv ZGVyX2FsbG9jKGRldiwgdHlwZSwgbWVtYmVyLCBlbmNvZGVyX3R5cGUpIFwKIAkoKHR5cGUgKilf X2RybW1fc2ltcGxlX2VuY29kZXJfYWxsb2MoZGV2LCBzaXplb2YodHlwZSksIFwKIAkJCQkJICAg ICBvZmZzZXRvZih0eXBlLCBtZW1iZXIpLCBcCi0tIAoyLjUzLjAKCg==