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 5412C1099B27 for ; Fri, 20 Mar 2026 23:37:22 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id AF2C210E19B; Fri, 20 Mar 2026 23:37:21 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.b="dDs6qVHN"; dkim-atps=neutral Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5A48510E1CC for ; Fri, 20 Mar 2026 23:37:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1774049837; h=from:from:reply-to:subject:subject: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=5nsTo0iGp0cMgU7WrN9x3Sl9aCgAeNVK+9RW1jx6x+8=; b=dDs6qVHNaPaS7lVu+45UXqtCxuyCWmsK9nR+VuSaOP4bgWO25WxjddWQl0dIxfKQ6dG9sw qewXab4MEhR7TTL4GrVbAth/R9vgtc/t+8afvmLkvktrHKRqlVVNpd3r+ilt7j4e1pkrjG 6ORNKo0iVyq38XXWRTVjXEE7AdIzzbA= Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-588-Z-0DXhXZP-e3UJYVcmxfLg-1; Fri, 20 Mar 2026 19:37:16 -0400 X-MC-Unique: Z-0DXhXZP-e3UJYVcmxfLg-1 X-Mimecast-MFC-AGG-ID: Z-0DXhXZP-e3UJYVcmxfLg_1774049834 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 93A191944EB0; Fri, 20 Mar 2026 23:37:13 +0000 (UTC) Received: from GoldenWind.redhat.com (unknown [10.22.80.37]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 317EF180075C; Fri, 20 Mar 2026 23:37:11 +0000 (UTC) From: Lyude Paul To: linux-kernel@vger.kernel.org, Danilo Krummrich , rust-for-linux@vger.kernel.org, dri-devel@lists.freedesktop.org Cc: Daniel Almeida , nouveau@lists.freedesktop.org, "Gary Guo" , "Miguel Ojeda" , "Simona Vetter" , "Alice Ryhl" , "Shankari Anand" , "Maxime Ripard" , "David Airlie" , "Benno Lossin" , "Asahi Lina" , "Lyude Paul" Subject: [PATCH v6 2/5] rust/drm: Introduce DeviceContext Date: Fri, 20 Mar 2026 19:34:27 -0400 Message-ID: <20260320233645.950190-3-lyude@redhat.com> In-Reply-To: <20260320233645.950190-1-lyude@redhat.com> References: <20260320233645.950190-1-lyude@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-MFC-PROC-ID: -k9NbcZu6pwFgHeDIGW0XopodHaF5dFNOxC0kOYDGs4_1774049834 X-Mimecast-Originator: redhat.com 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" T25lIG9mIHRoZSB0cmlja3kgdGhpbmdzIGFib3V0IERSTSBiaW5kaW5ncyBpbiBSdXN0IGlzIHRo ZSBmYWN0IHRoYXQKaW5pdGlhbGl6YXRpb24gb2YgYSBEUk0gZGV2aWNlIGlzIGEgbXVsdGktc3Rl cCBwcm9jZXNzLiBJdCdzIHF1aXRlIG5vcm1hbApmb3IgYSBkZXZpY2UgZHJpdmVyIHRvIHN0YXJ0 IG1ha2luZyB1c2Ugb2YgaXRzIERSTSBkZXZpY2UgZm9yIHRhc2tzIGxpa2UKY3JlYXRpbmcgR0VN IG9iamVjdHMgYmVmb3JlIHVzZXJzcGFjZSByZWdpc3RyYXRpb24gaGFwcGVucy4gVGhpcyBpcyBh bgppc3N1ZSBpbiBydXN0IHRob3VnaCwgc2luY2UgcHJpb3IgdG8gdXNlcnNwYWNlIHJlZ2lzdHJh dGlvbiB0aGUgZGV2aWNlIGlzCm9ubHkgcGFydGx5IGluaXRpYWxpemVkLiBUaGlzIG1lYW5zIHRo ZXJlJ3MgYSBwbGV0aG9yYSBvZiBEUk0gZGV2aWNlCm9wZXJhdGlvbnMgd2UgY2FuJ3QgeWV0IGV4 cG9zZSB3aXRob3V0IG9wZW5pbmcgdXAgdGhlIGRvb3IgdG8gVUIgaWYgdGhlIERSTQpkZXZpY2Ug aW4gcXVlc3Rpb24gaXNuJ3QgeWV0IHJlZ2lzdGVyZWQuCgpBZGRpdGlvbmFsbHksIHRoaXMgaXNu J3Qgc29tZXRoaW5nIHdlIGNhbiByZWxpYWJseSBjaGVjayBhdCBydW50aW1lLiBBbmQKZXZlbiBp ZiB3ZSBjb3VsZCwgcGVyZm9ybWluZyBhbiBvcGVyYXRpb24gd2hpY2ggcmVxdWlyZXMgdGhlIGRl dmljZSBiZQpyZWdpc3RlcmVkIHdoZW4gdGhlIGRldmljZSBpc24ndCBhY3R1YWxseSByZWdpc3Rl cmVkIGlzIGEgcHJvZ3JhbW1lciBidWcsCm1lYW5pbmcgdGhlcmUncyBubyByZWFsIHdheSB0byBn cmFjZWZ1bGx5IGhhbmRsZSBzdWNoIGEgbWlzdGFrZSBhdCBydW50aW1lLgpBbmQgZXZlbiBpZiB0 aGF0IHdhc24ndCB0aGUgY2FzZSwgaXQgd291bGQgYmUgaG9ycmVuZG91c2x5IGFubm95aW5nIGFu ZApub2lzeSB0byBoYXZlIHRvIGNoZWNrIGlmIGEgZGV2aWNlIGlzIHJlZ2lzdGVyZWQgY29uc3Rh bnRseSB0aHJvdWdob3V0IGEKZHJpdmVyLgoKSW4gb3JkZXIgdG8gc29sdmUgdGhpcywgd2UgZmly c3QgdGFrZSBpbnNwaXJhdGlvbiBmcm9tCmBrZXJuZWw6OmRldmljZTo6RGV2aWNlQ29udGV4dGAg YW5kIGludHJvZHVjZSBga2VybmVsOjpkcm06OkRldmljZUNvbnRleHRgLgpUaGlzIHByb3ZpZGVz IHVzIHdpdGggYSBaU1QgdHlwZSB0aGF0IHdlIGNhbiBnZW5lcmFsaXplIG92ZXIgdG8gcmVwcmVz ZW50CmNvbnRleHRzIHdoZXJlIGEgZGV2aWNlIGlzIGtub3duIHRvIGhhdmUgYmVlbiByZWdpc3Rl cmVkIHdpdGggdXNlcnNwYWNlIGF0CnNvbWUgcG9pbnQgaW4gdGltZSAoYFJlZ2lzdGVyZWRgKSwg YWxvbmcgd2l0aCBjb250ZXh0cyB3aGVyZSB3ZSBjYW4ndCBtYWtlCnN1Y2ggYSBndWFyYW50ZWUg KGBVbmluaXRgKS4KCkl0J3MgaW1wb3J0YW50IHRvIG5vdGUgd2UgaW50ZW50aW9uYWxseSBkbyBu b3QgcHJvdmlkZSBhIGBEZXZpY2VDb250ZXh0YAp3aGljaCByZXByZXNlbnRzIGFuIHVucmVnaXN0 ZXJlZCBkZXZpY2UuIFRoaXMgaXMgYmVjYXVzZSB0aGVyZSdzIG5vCnJlYXNvbmFibGUgd2F5IHRv IGd1YXJhbnRlZSB0aGF0IGEgZGV2aWNlIHdpdGggbG9uZy1saXZpbmcgcmVmZXJlbmNlcyB0bwpp dHNlbGYgd2lsbCBub3QgYmUgcmVnaXN0ZXJlZCBldmVudHVhbGx5IHdpdGggdXNlcnNwYWNlLiBJ bnN0ZWFkLCB3ZQpwcm92aWRlIGEgbmV3LXR5cGUgZm9yIHRoaXM6IGBVbnJlZ2lzdGVyZWREZXZp Y2VgIHdoaWNoIGNhbgpwcm92aWRlIGEgZ3VhcmFudGVlIHRoYXQgdGhlIGBEZXZpY2VgIGhhcyBu ZXZlciBiZWVuIHJlZ2lzdGVyZWQgd2l0aAp1c2Vyc3BhY2UuIFRvIGVuc3VyZSB0aGlzLCB3ZSBt b2RpZnkgYFJlZ2lzdHJhdGlvbmAgc28gdGhhdCBjcmVhdGluZyBhIG5ldwpgUmVnaXN0cmF0aW9u YCByZXF1aXJlcyBwYXNzaW5nIG93bmVyc2hpcCBvZiBhbiBgVW5yZWdpc3RlcmVkRGV2aWNlYC4K ClNpZ25lZC1vZmYtYnk6IEx5dWRlIFBhdWwgPGx5dWRlQHJlZGhhdC5jb20+ClJldmlld2VkLWJ5 OiBEYW5pZWwgQWxtZWlkYSA8ZGFuaWVsLmFsbWVpZGFAY29sbGFib3JhLmNvbT4KCi0tLQpWMjoK KiBNYWtlIHN1cmUgdGhhdCBgVW5yZWdpc3RlcmVkRGV2aWNlYCBpcyBub3QgdGhyZWFkLXNhZmUg KHNpbmNlIERSTSBkZXZpY2UKICBpbml0aWFsaXphdGlvbiBpcyBhbHNvIG5vdCB0aHJlYWQtc2Fm ZSkKKiBSZW5hbWUgZnJvbSBBbnlDdHggdG8gVW5pbml0LCBJIHRoaW5rIHRoaXMgbmFtZSBhY3R1 YWxseSBtYWtlcyBhIGJpdCBtb3JlCiAgc2Vuc2UuCiogQ2hhbmdlIGFzc3VtZV9yZWdpc3RlcmVk KCkgdG8gYXNzdW1lX2N0eCgpCiAgU2luY2UgaXQgbG9va3MgbGlrZSBpbiBzb21lIHNpdHVhdGlv bnMsIHdlJ2xsIHdhbnQgdG8gdXBkYXRlIHRoZQogIERldmljZUNvbnRleHQgb2YgYSBvYmplY3Qg dG8gdGhlIGxhdGVzdCBEZXZpY2VDb250ZXh0IHdlIGtub3cgdGhlIERldmljZQogIHRvIGJlIGlu LgoqIFJlbmFtZSBJbml0IHRvIFVuaW5pdAogIFdoZW4gd2UgZXZlbnR1YWxseSBhZGQgS01TIHN1 cHBvcnQsIHdlJ3JlIGdvaW5nIHRvIGhhdmUgMyBkaWZmZXJlbnQKICBEZXZpY2VDb250ZXh0cyAt IFVuaW5pdCwgSW5pdCwgUmVnaXN0ZXJlZC4gQWRkaXRpb25hbGx5LCBhc2lkZSBmcm9tIG5vdAog IGJlaW5nIHJlZ2lzdGVyZWQgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHBvcnRpb25zIG9mIHRoZSBy ZXN0IG9mIHRoZSBEZXZpY2UKICB3aGljaCBhbHNvIGFyZW4ndCB1c2FibGUgYmVmb3JlIGF0IGxl YXN0IHRoZSBJbml0IGNvbnRleHQgLSBzbyB0aGUgbmFtaW5nCiAgb2YgVW5pbml0IG1ha2VzIHRo aXMgYSBsaXR0bGUgY2xlYXJlci4KKiBzL0RldmljZUNvbnRleHQvRGV2aWNlQ29udGV4dC8KICBG b3IgY29uc2lzdGVuY3kgd2l0aCB0aGUgcmVzdCBvZiB0aGUga2VybmVsCiogRHJvcCBhc19yZWY6 OjxEZXZpY2U8VCwgVW5pbml0Pj4oKSBmb3Igbm93IHNpbmNlIEkgZG9uJ3QgYWN0dWFsbHkgdGhp bmsKICB3ZSBuZWVkIHRoaXMgcXVpdGUgeWV0ClYzOgoqIEdldCByaWQgb2YgZHJtX2Rldl9jdHgh LCBhcyB3ZSBkb24ndCBhY3R1YWxseSBuZWVkIHRvIGltcGxlbWVudCBTZW5kIG9yCiAgU3luYyBv dXJzZWx2ZXMKKiBSZW1vdmUgbWVudGlvbiBvZiBDIGZ1bmN0aW9uIGluIGRybTo6ZGV2aWNlOjpS ZWdpc3RyYXRpb24gcnVzdGRvYwoqIEFkZCBtb3JlIGRvY3VtZW50YXRpb24gdG8gdGhlIERldmlj ZUNvbnRleHQgdHJhaXQsIGdvIGludG8gZGV0YWlsIGFib3V0CiAgdGhlIHZhcmlvdXMgc2V0dXAg cGhhc2VzIGFuZCBzdWNoLgoqIEFkZCBtaXNzaW5nIHBlcmlvZCB0byBjb21tZW50IGluIGBVbnJl Z2lzdGVyZWREZXZpY2U6Om5ldygpYC4KVjQ6CiogQWRkcmVzcyBzb21lIGNvbW1lbnRzIGZyb20g RGFuaWxvIEkgbWlzc2VkIGxhc3Qgcm91bmQ6CiAgKiBSZW1vdmUgbGVmdG92ZXIgcmViYXNlIGRl dHJpdHVzIGZyb20gbmV3X2ZvcmVpZ25fb3duZWQoKQogICAgKHRoZSBzZWVtaW5nbHkgdXNlbGVz cyBjYXN0KQogICogUmVtb3ZlIG5vLW9wIG1lbnRpb24gaW4gUmVnaXN0ZXJlZCBkZXZpY2UgY29u dGV4dApWNToKKiBGaXggaW5jb3JyZWN0IHNpemUgb24gS21hbGxvYyAoRGVib3JhaCkKCiBkcml2 ZXJzL2dwdS9kcm0vbm92YS9kcml2ZXIucnMgfCAgIDggKy0KIGRyaXZlcnMvZ3B1L2RybS90eXIv ZHJpdmVyLnJzICB8ICAxMCArLQogcnVzdC9rZXJuZWwvZHJtL2RldmljZS5ycyAgICAgIHwgMTkx ICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQogcnVzdC9rZXJuZWwvZHJtL2RyaXZl ci5ycyAgICAgIHwgIDM1ICsrKystLQogcnVzdC9rZXJuZWwvZHJtL21vZC5ycyAgICAgICAgIHwg ICA0ICsKIDUgZmlsZXMgY2hhbmdlZCwgMTk3IGluc2VydGlvbnMoKyksIDUxIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3ZhL2RyaXZlci5ycyBiL2RyaXZlcnMv Z3B1L2RybS9ub3ZhL2RyaXZlci5ycwppbmRleCBiMWFmMGEwOTk1NTFkLi45OWQ2ODQxYjY5Y2Jj IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm92YS9kcml2ZXIucnMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL25vdmEvZHJpdmVyLnJzCkBAIC0yMSw3ICsyMSw3IEBAIHB1YihjcmF0ZSkgc3Ry dWN0IE5vdmFEcml2ZXIgewogfQogCiAvLy8gQ29udmllbmVuY2UgdHlwZSBhbGlhcyBmb3IgdGhl IERSTSBkZXZpY2UgdHlwZSBmb3IgdGhpcyBkcml2ZXIKLXB1YihjcmF0ZSkgdHlwZSBOb3ZhRGV2 aWNlID0gZHJtOjpEZXZpY2U8Tm92YURyaXZlcj47CitwdWIoY3JhdGUpIHR5cGUgTm92YURldmlj ZTxDdHggPSBkcm06OlJlZ2lzdGVyZWQ+ID0gZHJtOjpEZXZpY2U8Tm92YURyaXZlciwgQ3R4PjsK IAogI1twaW5fZGF0YV0KIHB1YihjcmF0ZSkgc3RydWN0IE5vdmFEYXRhIHsKQEAgLTU2LDEwICs1 NiwxMCBAQCBpbXBsIGF1eGlsaWFyeTo6RHJpdmVyIGZvciBOb3ZhRHJpdmVyIHsKICAgICBmbiBw cm9iZShhZGV2OiAmYXV4aWxpYXJ5OjpEZXZpY2U8Q29yZT4sIF9pbmZvOiAmU2VsZjo6SWRJbmZv KSAtPiBpbXBsIFBpbkluaXQ8U2VsZiwgRXJyb3I+IHsKICAgICAgICAgbGV0IGRhdGEgPSB0cnlf cGluX2luaXQhKE5vdmFEYXRhIHsgYWRldjogYWRldi5pbnRvKCkgfSk7CiAKLSAgICAgICAgbGV0 IGRybSA9IGRybTo6RGV2aWNlOjo8U2VsZj46Om5ldyhhZGV2LmFzX3JlZigpLCBkYXRhKT87Ci0g ICAgICAgIGRybTo6UmVnaXN0cmF0aW9uOjpuZXdfZm9yZWlnbl9vd25lZCgmZHJtLCBhZGV2LmFz X3JlZigpLCAwKT87CisgICAgICAgIGxldCBkcm0gPSBkcm06OlVucmVnaXN0ZXJlZERldmljZTo6 PFNlbGY+OjpuZXcoYWRldi5hc19yZWYoKSwgZGF0YSk/OworICAgICAgICBsZXQgZHJtID0gZHJt OjpSZWdpc3RyYXRpb246Om5ld19mb3JlaWduX293bmVkKGRybSwgYWRldi5hc19yZWYoKSwgMCk/ OwogCi0gICAgICAgIE9rKFNlbGYgeyBkcm0gfSkKKyAgICAgICAgT2soU2VsZiB7IGRybTogZHJt LmludG8oKSB9KQogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3R5ci9k cml2ZXIucnMgYi9kcml2ZXJzL2dwdS9kcm0vdHlyL2RyaXZlci5ycwppbmRleCA2MTE0MzQ2NDE1 ODA1Li42MjM4ZjZlMmIzYmQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdHlyL2RyaXZl ci5ycworKysgYi9kcml2ZXJzL2dwdS9kcm0vdHlyL2RyaXZlci5ycwpAQCAtNDIsNyArNDIsNyBA QAogcHViKGNyYXRlKSBzdHJ1Y3QgVHlyRHJtRHJpdmVyOwogCiAvLy8gQ29udmVuaWVuY2UgdHlw ZSBhbGlhcyBmb3IgdGhlIERSTSBkZXZpY2UgdHlwZSBmb3IgdGhpcyBkcml2ZXIuCi1wdWIoY3Jh dGUpIHR5cGUgVHlyRHJtRGV2aWNlID0gZHJtOjpEZXZpY2U8VHlyRHJtRHJpdmVyPjsKK3B1Yihj cmF0ZSkgdHlwZSBUeXJEcm1EZXZpY2U8Q3R4ID0gZHJtOjpSZWdpc3RlcmVkPiA9IGRybTo6RGV2 aWNlPFR5ckRybURyaXZlciwgQ3R4PjsKIAogI1twaW5fZGF0YShQaW5uZWREcm9wKV0KIHB1Yihj cmF0ZSkgc3RydWN0IFR5clBsYXRmb3JtRHJpdmVyRGF0YSB7CkBAIC0xNDUsMTAgKzE0NSwxMiBA QCBmbiBwcm9iZSgKICAgICAgICAgICAgICAgICBncHVfaW5mbywKICAgICAgICAgfSk7CiAKLSAg ICAgICAgbGV0IGRkZXY6IEFSZWY8VHlyRHJtRGV2aWNlPiA9IGRybTo6RGV2aWNlOjpuZXcocGRl di5hc19yZWYoKSwgZGF0YSk/OwotICAgICAgICBkcm06OmRyaXZlcjo6UmVnaXN0cmF0aW9uOjpu ZXdfZm9yZWlnbl9vd25lZCgmZGRldiwgcGRldi5hc19yZWYoKSwgMCk/OworICAgICAgICBsZXQg dGRldiA9IGRybTo6VW5yZWdpc3RlcmVkRGV2aWNlOjo8VHlyRHJtRHJpdmVyPjo6bmV3KHBkZXYu YXNfcmVmKCksIGRhdGEpPzsKKyAgICAgICAgbGV0IHRkZXYgPSBkcm06OmRyaXZlcjo6UmVnaXN0 cmF0aW9uOjpuZXdfZm9yZWlnbl9vd25lZCh0ZGV2LCBwZGV2LmFzX3JlZigpLCAwKT87CiAKLSAg ICAgICAgbGV0IGRyaXZlciA9IFR5clBsYXRmb3JtRHJpdmVyRGF0YSB7IF9kZXZpY2U6IGRkZXYg fTsKKyAgICAgICAgbGV0IGRyaXZlciA9IFR5clBsYXRmb3JtRHJpdmVyRGF0YSB7CisgICAgICAg ICAgICBfZGV2aWNlOiB0ZGV2LmludG8oKSwKKyAgICAgICAgfTsKIAogICAgICAgICAvLyBXZSBu ZWVkIHRoaXMgdG8gYmUgZGV2X2luZm8hKCkgYmVjYXVzZSBkZXZfZGJnISgpIGRvZXMgbm90IHdv cmsgYXQKICAgICAgICAgLy8gYWxsIGluIFJ1c3QgZm9yIG5vdywgYW5kIHdlIG5lZWQgdG8gc2Vl IHdoZXRoZXIgcHJvYmUgc3VjY2VlZGVkLgpkaWZmIC0tZ2l0IGEvcnVzdC9rZXJuZWwvZHJtL2Rl dmljZS5ycyBiL3J1c3Qva2VybmVsL2RybS9kZXZpY2UucnMKaW5kZXggMzhhZThkZTBhZjVkNi4u ODk3ODhhZjJlNjUzNyAxMDA2NDQKLS0tIGEvcnVzdC9rZXJuZWwvZHJtL2RldmljZS5ycworKysg Yi9ydXN0L2tlcm5lbC9kcm0vZGV2aWNlLnJzCkBAIC0xMCw3ICsxMCw4IEBACiAgICAgZGV2aWNl LAogICAgIGRybTo6ewogICAgICAgICBzZWxmLAotICAgICAgICBkcml2ZXI6OkFsbG9jSW1wbCwg Ly8KKyAgICAgICAgZHJpdmVyOjpBbGxvY0ltcGwsCisgICAgICAgIHByaXZhdGU6OlNlYWxlZCwg Ly8KICAgICB9LAogICAgIGVycm9yOjpmcm9tX2Vycl9wdHIsCiAgICAgcHJlbHVkZTo6KiwKQEAg LTE4LDExICsxOSwxNSBAQAogICAgICAgICBBUmVmLAogICAgICAgICBBbHdheXNSZWZDb3VudGVk LCAvLwogICAgIH0sCi0gICAgdHlwZXM6Ok9wYXF1ZSwgLy8KKyAgICB0eXBlczo6eworICAgICAg ICBOb3RUaHJlYWRTYWZlLAorICAgICAgICBPcGFxdWUsIC8vCisgICAgfSwgLy8KIH07CiB1c2Ug Y29yZTo6ewogICAgIGFsbG9jOjpMYXlvdXQsCiAgICAgY2VsbDo6VW5zYWZlQ2VsbCwKKyAgICBt YXJrZXI6OlBoYW50b21EYXRhLAogICAgIG1lbTo6ewogICAgICAgICBzZWxmLAogICAgICAgICBN YXliZVVuaW5pdCwgLy8KQEAgLTYzLDMzICs2OCw5OCBAQCBtYWNyb19ydWxlcyEgZHJtX2xlZ2Fj eV9maWVsZHMgewogICAgIH0KIH0KIAotLy8vIEEgdHlwZWQgRFJNIGRldmljZSB3aXRoIGEgc3Bl Y2lmaWMgYGRybTo6RHJpdmVyYCBpbXBsZW1lbnRhdGlvbi4KKy8vLyBBIHRyYWl0IGltcGxlbWVu dGVkIGJ5IGFsbCBwb3NzaWJsZSBjb250ZXh0cyBhIFtgRGV2aWNlYF0gY2FuIGJlIHVzZWQgaW4u CiAvLy8KLS8vLyBUaGUgZGV2aWNlIGlzIGFsd2F5cyByZWZlcmVuY2UtY291bnRlZC4KKy8vLyBT ZXR0aW5nIHVwIGEgbmV3IFtgRGV2aWNlYF0gaXMgYSBtdWx0aS1zdGFnZSBwcm9jZXNzLiBFYWNo IHN0ZXAgb2YgdGhlIHByb2Nlc3MgdGhhdCBhIHVzZXIKKy8vLyBpbnRlcmFjdHMgd2l0aCBpbiBS dXN0IGhhcyBhIHJlc3BlY3RpdmUgW2BEZXZpY2VDb250ZXh0YF0gdHlwZXN0YXRlLiBGb3IgZXhh bXBsZSwKKy8vLyBgRGV2aWNlPFQsIFJlZ2lzdGVyZWQ+YCB3b3VsZCBiZSBhIFtgRGV2aWNlYF0g dGhhdCByZWFjaGVkIHRoZSBbYFJlZ2lzdGVyZWRgXSBbYERldmljZUNvbnRleHRgXS4KKy8vLwor Ly8vIEVhY2ggc3RhZ2Ugb2YgdGhpcyBwcm9jZXNzIGlzIGRlc2NyaWJlZCBiZWxvdzoKKy8vLwor Ly8vIGBgYHRleHQKKy8vLyAgICAgICAgMSAgICAgICAgICAgICAgICAgICAgIDIgICAgICAgICAg ICAgICAgICAgICAgICAgMworLy8vICstLS0tLS0tLS0tLS0tLSsgICArLS0tLS0tLS0tLS0tLS0t LS0tKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKy8vLyB8RGV2aWNlIGNyZWF0ZWR8IOKG kiB8RGV2aWNlIGluaXRpYWxpemVkfCDihpIgfFJlZ2lzdGVyZWQgdy8gdXNlcnNwYWNlfAorLy8v ICstLS0tLS0tLS0tLS0tLSsgICArLS0tLS0tLS0tLS0tLS0tLS0tKyAgICstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSsKKy8vLyAgICAoVW5pbml0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKFJlZ2lzdGVyZWQpCisvLy8gYGBgCisvLy8KKy8vLyAxLiBUaGUgW2BEZXZpY2Vg XSBpcyBpbiB0aGUgW2BVbmluaXRgXSBjb250ZXh0IGFuZCBpcyBub3QgZ3VhcmFudGVlZCB0byBi ZSBpbml0aWFsaXplZCBvcgorLy8vICAgIHJlZ2lzdGVyZWQgd2l0aCB1c2Vyc3BhY2UuIE9ubHkg YSBsaW1pdGVkIHN1YnNldCBvZiBEUk0gY29yZSBmdW5jdGlvbmFsaXR5IGlzIGF2YWlsYWJsZS4K Ky8vLyAyLiBUaGUgW2BEZXZpY2VgXSBpcyBndWFyYW50ZWVkIHRvIGJlIGZ1bGx5IGluaXRpYWxp emVkLCBidXQgaXMgbm90IGd1YXJhbnRlZWQgdG8gYmUgcmVnaXN0ZXJlZAorLy8vICAgIHdpdGgg dXNlcnNwYWNlLiBBbGwgRFJNIGNvcmUgZnVuY3Rpb25hbGl0eSB3aGljaCBkb2Vzbid0IGludGVy YWN0IHdpdGggdXNlcnNwYWNlIGlzCisvLy8gICAgYXZhaWxhYmxlLiBXZSBjdXJyZW50bHkgZG9u J3QgaGF2ZSBhIGNvbnRleHQgZm9yIHJlcHJlc2VudGluZyB0aGlzLgorLy8vIDMuIFRoZSBbYERl dmljZWBdIGlzIGd1YXJhbnRlZWQgdG8gYmUgZnVsbHkgaW5pdGlhbGl6ZWQsIGFuZCBpcyBndWFy YW50ZWVkIHRvIGhhdmUgYmVlbgorLy8vICAgIHJlZ2lzdGVyZWQgd2l0aCB1c2Vyc3BhY2UgYXQg c29tZSBwb2ludCAtIHRodXMgcHV0dGluZyBpdCBpbiB0aGUgW2BSZWdpc3RlcmVkYF0gY29udGV4 dC4KKy8vLworLy8vIEFuIGltcG9ydGFudCBjYXZlYXQgb2YgW2BEZXZpY2VDb250ZXh0YF0gd2hp Y2ggbXVzdCBiZSBrZXB0IGluIG1pbmQ6IHdoZW4gdXNlZCBhcyBhIHR5cGVzdGF0ZQorLy8vIGZv ciBhIHJlZmVyZW5jZSB0eXBlLCBpdCBjYW4gb25seSBndWFyYW50ZWUgdGhhdCBhIFtgRGV2aWNl YF0gcmVhY2hlZCBhIHBhcnRpY3VsYXIgc3RhZ2UgaW4gdGhlCisvLy8gaW5pdGlhbGl6YXRpb24g cHJvY2VzcyBfYXQgdGhlIHRpbWUgdGhlIHJlZmVyZW5jZSB3YXMgdGFrZW5fLiBObyBndWFyYW50 ZWUgaXMgbWFkZSBpbiByZWdhcmRzIHRvCisvLy8gd2hhdCBzdGFnZSBvZiB0aGUgcHJvY2VzcyB0 aGUgW2BEZXZpY2VgXSBpcyBjdXJyZW50bHkgaW4uIFRoaXMgbWVhbnMgZm9yIGluc3RhbmNlIHRo YXQgYQorLy8vIGAmRGV2aWNlPFQsIFVuaW5pdD5gIG1heSBhY3R1YWxseSBiZSByZWdpc3RlcmVk IHdpdGggdXNlcnNwYWNlLCBpdCBqdXN0IHdhc24ndCBrbm93biB0byBiZQorLy8vIHJlZ2lzdGVy ZWQgYXQgdGhlIHRpbWUgdGhlIHJlZmVyZW5jZSB3YXMgdGFrZW4uCitwdWIgdHJhaXQgRGV2aWNl Q29udGV4dDogU2VhbGVkICsgU2VuZCArIFN5bmMge30KKworLy8vIFRoZSBbYERldmljZUNvbnRl eHRgXSBvZiBhIFtgRGV2aWNlYF0gdGhhdCB3YXMgcmVnaXN0ZXJlZCB3aXRoIHVzZXJzcGFjZSBh dCBzb21lIHBvaW50LgorLy8vCisvLy8gVGhpcyByZXByZXNlbnRzIGEgW2BEZXZpY2VgXSB3aGlj aCBpcyBndWFyYW50ZWVkIHRvIGhhdmUgYmVlbiByZWdpc3RlcmVkIHdpdGggdXNlcnNwYWNlIGF0 CisvLy8gc29tZSBwb2ludCBpbiB0aW1lLiBTdWNoIGEgRFJNIGRldmljZSBpcyBndWFyYW50ZWVk IHRvIGhhdmUgYmVlbiBmdWxseS1pbml0aWFsaXplZC4KKy8vLworLy8vIE5vdGU6IEEgZGV2aWNl IGluIHRoaXMgY29udGV4dCBpcyBub3QgZ3VhcmFudGVlZCB0byByZW1haW4gcmVnaXN0ZXJlZCB3 aXRoIHVzZXJzcGFjZSBmb3IgaXRzCisvLy8gZW50aXJlIGxpZmV0aW1lLCBhcyB0aGlzIGlzIGlt cG9zc2libGUgdG8gZ3VhcmFudGVlIGF0IGNvbXBpbGUtdGltZS4KIC8vLwogLy8vICMgSW52YXJp YW50cwogLy8vCi0vLy8gYHNlbGYuZGV2YCBpcyBhIHZhbGlkIGluc3RhbmNlIG9mIGEgYHN0cnVj dCBkZXZpY2VgLgotI1tyZXByKEMpXQotcHViIHN0cnVjdCBEZXZpY2U8VDogZHJtOjpEcml2ZXI+ IHsKLSAgICBkZXY6IE9wYXF1ZTxiaW5kaW5nczo6ZHJtX2RldmljZT4sCisvLy8gQSBbYERldmlj ZWBdIGluIHRoaXMgW2BEZXZpY2VDb250ZXh0YF0gaXMgZ3VhcmFudGVlZCB0byBoYXZlIGJlZW4g cmVnaXN0ZXJlZCB3aXRoIHVzZXJzcGFjZQorLy8vIGF0IHNvbWUgcG9pbnQgaW4gdGltZS4KK3B1 YiBzdHJ1Y3QgUmVnaXN0ZXJlZDsKIAotICAgIC8vLyBLZWVwcyB0cmFjayBvZiB3aGV0aGVyIHdl J3ZlIGluaXRpYWxpemVkIHRoZSBkZXZpY2UgZGF0YSB5ZXQuCi0gICAgcHViKHN1cGVyKSBkYXRh X2lzX2luaXQ6IEF0b21pY0Jvb2wsCitpbXBsIFNlYWxlZCBmb3IgUmVnaXN0ZXJlZCB7fQoraW1w bCBEZXZpY2VDb250ZXh0IGZvciBSZWdpc3RlcmVkIHt9CiAKLSAgICAvLy8gVGhlIERyaXZlcidz IHByaXZhdGUgZGF0YS4KLSAgICAvLy8KLSAgICAvLy8gVGhpcyBtdXN0IG9ubHkgYmUgd3JpdHRl biB0byBmcm9tIFtgRGV2aWNlOjpuZXdgXS4KLSAgICBwdWIoc3VwZXIpIGRhdGE6IFVuc2FmZUNl bGw8TWF5YmVVbmluaXQ8VDo6RGF0YT4+LAorLy8vIFRoZSBbYERldmljZUNvbnRleHRgXSBvZiBh IFtgRGV2aWNlYF0gdGhhdCBtYXkgYmUgdW5yZWdpc3RlcmVkIGFuZCBwYXJ0bHkgdW5pbml0aWFs aXplZC4KKy8vLworLy8vIEEgW2BEZXZpY2VgXSBpbiB0aGlzIGNvbnRleHQgaXMgb25seSBndWFy YW50ZWVkIHRvIGJlIHBhcnRseSBpbml0aWFsaXplZCwgYW5kIG1heSBvciBtYXkgbm90CisvLy8g YmUgcmVnaXN0ZXJlZCB3aXRoIHVzZXJzcGFjZS4gVGh1cyBvcGVyYXRpb25zIHdoaWNoIGRlcGVu ZCBvbiB0aGUgW2BEZXZpY2VgXSBiZWluZyBmdWxseQorLy8vIGluaXRpYWxpemVkLCBvciB3aGlj aCBkZXBlbmQgb24gdGhlIFtgRGV2aWNlYF0gYmVpbmcgcmVnaXN0ZXJlZCB3aXRoIHVzZXJzcGFj ZSBhcmUgbm90CisvLy8gYXZhaWxhYmxlIHRocm91Z2ggdGhpcyBbYERldmljZUNvbnRleHRgXS4K Ky8vLworLy8vIEEgW2BEZXZpY2VgXSBpbiB0aGlzIGNvbnRleHQgY2FuIGJlIHVzZWQgdG8gY3Jl YXRlIGEKKy8vLyBbYFJlZ2lzdHJhdGlvbmBdKGRybTo6ZHJpdmVyOjpSZWdpc3RyYXRpb24pLgor cHViIHN0cnVjdCBVbmluaXQ7CisKK2ltcGwgU2VhbGVkIGZvciBVbmluaXQge30KK2ltcGwgRGV2 aWNlQ29udGV4dCBmb3IgVW5pbml0IHt9CisKKy8vLyBBIFtgRGV2aWNlYF0gd2hpY2ggaXMga25v d24gYXQgY29tcGlsZS10aW1lIHRvIGJlIHVucmVnaXN0ZXJlZCB3aXRoIHVzZXJzcGFjZS4KKy8v LworLy8vIFRoaXMgdHlwZSBhbGxvd3MgcGVyZm9ybWluZyBvcGVyYXRpb25zIHdoaWNoIGFyZSBv bmx5IHNhZmUgdG8gZG8gYmVmb3JlIHVzZXJzcGFjZSByZWdpc3RyYXRpb24sCisvLy8gYW5kIGNh biBiZSB1c2VkIHRvIGNyZWF0ZSBhIFtgUmVnaXN0cmF0aW9uYF0oZHJtOjpkcml2ZXI6OlJlZ2lz dHJhdGlvbikgb25jZSB0aGUgZHJpdmVyIGlzIHJlYWR5CisvLy8gdG8gcmVnaXN0ZXIgdGhlIGRl dmljZSB3aXRoIHVzZXJzcGFjZS4KKy8vLworLy8vIFNpbmNlIERSTSBkZXZpY2UgaW5pdGlhbGl6 YXRpb24gbXVzdCBiZSBzaW5nbGUtdGhyZWFkZWQsIHRoaXMgb2JqZWN0IGlzIG5vdCB0aHJlYWQt c2FmZS4KKy8vLworLy8vICMgSW52YXJpYW50cworLy8vCisvLy8gVGhlIGRldmljZSBpbiBgc2Vs Zi4wYCBpcyBndWFyYW50ZWVkIHRvIGJlIGEgbmV3bHkgY3JlYXRlZCBbYERldmljZWBdIHRoYXQg aGFzIG5vdCB5ZXQgYmVlbgorLy8vIHJlZ2lzdGVyZWQgd2l0aCB1c2Vyc3BhY2UgdW50aWwgdGhp cyB0eXBlIGlzIGRyb3BwZWQuCitwdWIgc3RydWN0IFVucmVnaXN0ZXJlZERldmljZTxUOiBkcm06 OkRyaXZlcj4oQVJlZjxEZXZpY2U8VCwgVW5pbml0Pj4sIE5vdFRocmVhZFNhZmUpOworCitpbXBs PFQ6IGRybTo6RHJpdmVyPiBEZXJlZiBmb3IgVW5yZWdpc3RlcmVkRGV2aWNlPFQ+IHsKKyAgICB0 eXBlIFRhcmdldCA9IERldmljZTxULCBVbmluaXQ+OworCisgICAgZm4gZGVyZWYoJnNlbGYpIC0+ ICZTZWxmOjpUYXJnZXQgeworICAgICAgICAmc2VsZi4wCisgICAgfQogfQogCi1pbXBsPFQ6IGRy bTo6RHJpdmVyPiBEZXZpY2U8VD4geworaW1wbDxUOiBkcm06OkRyaXZlcj4gVW5yZWdpc3RlcmVk RGV2aWNlPFQ+IHsKICAgICBjb25zdCBWVEFCTEU6IGJpbmRpbmdzOjpkcm1fZHJpdmVyID0gZHJt X2xlZ2FjeV9maWVsZHMhIHsKICAgICAgICAgbG9hZDogTm9uZSwKICAgICAgICAgb3BlbjogU29t ZShkcm06OkZpbGU6OjxUOjpGaWxlPjo6b3Blbl9jYWxsYmFjayksCiAgICAgICAgIHBvc3RjbG9z ZTogU29tZShkcm06OkZpbGU6OjxUOjpGaWxlPjo6cG9zdGNsb3NlX2NhbGxiYWNrKSwKICAgICAg ICAgdW5sb2FkOiBOb25lLAotICAgICAgICByZWxlYXNlOiBTb21lKFNlbGY6OnJlbGVhc2UpLAor ICAgICAgICByZWxlYXNlOiBTb21lKERldmljZTo6PFQ+OjpyZWxlYXNlKSwKICAgICAgICAgbWFz dGVyX3NldDogTm9uZSwKICAgICAgICAgbWFzdGVyX2Ryb3A6IE5vbmUsCiAgICAgICAgIGRlYnVn ZnNfaW5pdDogTm9uZSwKQEAgLTExNywyMSArMTg3LDIzIEBAIGltcGw8VDogZHJtOjpEcml2ZXI+ IERldmljZTxUPiB7CiAKICAgICBjb25zdCBHRU1fRk9QUzogYmluZGluZ3M6OmZpbGVfb3BlcmF0 aW9ucyA9IGRybTo6Z2VtOjpjcmVhdGVfZm9wcygpOwogCi0gICAgLy8vIENyZWF0ZSBhIG5ldyBg ZHJtOjpEZXZpY2VgIGZvciBhIGBkcm06OkRyaXZlcmAuCi0gICAgcHViIGZuIG5ldyhkZXY6ICZk ZXZpY2U6OkRldmljZSwgZGF0YTogaW1wbCBQaW5Jbml0PFQ6OkRhdGEsIEVycm9yPikgLT4gUmVz dWx0PEFSZWY8U2VsZj4+IHsKKyAgICAvLy8gQ3JlYXRlIGEgbmV3IGBVbnJlZ2lzdGVyZWREZXZp Y2VgIGZvciBhIGBkcm06OkRyaXZlcmAuCisgICAgLy8vCisgICAgLy8vIFRoaXMgY2FuIGJlIHVz ZWQgdG8gY3JlYXRlIGEgW2BSZWdpc3RyYXRpb25gXShrZXJuZWw6OmRybTo6UmVnaXN0cmF0aW9u KS4KKyAgICBwdWIgZm4gbmV3KGRldjogJmRldmljZTo6RGV2aWNlLCBkYXRhOiBpbXBsIFBpbklu aXQ8VDo6RGF0YSwgRXJyb3I+KSAtPiBSZXN1bHQ8U2VsZj4gewogICAgICAgICAvLyBgX19kcm1f ZGV2X2FsbG9jYCB1c2VzIGBrbWFsbG9jKClgIHRvIGFsbG9jYXRlIG1lbW9yeSwgaGVuY2UgZW5z dXJlIGEgYGttYWxsb2MoKWAKICAgICAgICAgLy8gY29tcGF0aWJsZSBgTGF5b3V0YC4KLSAgICAg ICAgbGV0IGxheW91dCA9IEttYWxsb2M6OmFsaWduZWRfbGF5b3V0KExheW91dDo6bmV3Ojo8U2Vs Zj4oKSk7CisgICAgICAgIGxldCBsYXlvdXQgPSBLbWFsbG9jOjphbGlnbmVkX2xheW91dChMYXlv dXQ6Om5ldzo6PERldmljZTxULCBVbmluaXQ+PigpKTsKIAogICAgICAgICAvLyBTQUZFVFk6CiAg ICAgICAgIC8vIC0gYFZUQUJMRWAsIGFzIGEgYGNvbnN0YCBpcyBwaW5uZWQgdG8gdGhlIHJlYWQt b25seSBzZWN0aW9uIG9mIHRoZSBjb21waWxhdGlvbiwKICAgICAgICAgLy8gLSBgZGV2YCBpcyB2 YWxpZCBieSBpdHMgdHlwZSBpbnZhcmFudHMsCi0gICAgICAgIGxldCByYXdfZHJtOiAqbXV0IFNl bGYgPSB1bnNhZmUgeworICAgICAgICBsZXQgcmF3X2RybTogKm11dCBEZXZpY2U8VCwgVW5pbml0 PiA9IHVuc2FmZSB7CiAgICAgICAgICAgICBiaW5kaW5nczo6X19kcm1fZGV2X2FsbG9jKAogICAg ICAgICAgICAgICAgIGRldi5hc19yYXcoKSwKICAgICAgICAgICAgICAgICAmU2VsZjo6VlRBQkxF LAogICAgICAgICAgICAgICAgIGxheW91dC5zaXplKCksCi0gICAgICAgICAgICAgICAgbWVtOjpv ZmZzZXRfb2YhKFNlbGYsIGRldiksCisgICAgICAgICAgICAgICAgbWVtOjpvZmZzZXRfb2YhKERl dmljZTxULCBVbmluaXQ+LCBkZXYpLAogICAgICAgICAgICAgKQogICAgICAgICB9CiAgICAgICAg IC5jYXN0KCk7CkBAIC0xNTEsNyArMjIzLDcgQEAgcHViIGZuIG5ldyhkZXY6ICZkZXZpY2U6OkRl dmljZSwgZGF0YTogaW1wbCBQaW5Jbml0PFQ6OkRhdGEsIEVycm9yPikgLT4gUmVzdWx0PEEKICAg ICAgICAgdW5zYWZlIHsgZGF0YS5fX3Bpbm5lZF9pbml0KHJhd19kYXRhKSB9Lmluc3BlY3RfZXJy KHxffCB7CiAgICAgICAgICAgICAvLyBTQUZFVFk6IGByYXdfZHJtYCBpcyBhIHZhbGlkIHBvaW50 ZXIgdG8gYFNlbGZgLCBnaXZlbiB0aGF0IGBfX2RybV9kZXZfYWxsb2NgIHdhcwogICAgICAgICAg ICAgLy8gc3VjY2Vzc2Z1bC4KLSAgICAgICAgICAgIGxldCBkcm1fZGV2ID0gdW5zYWZlIHsgU2Vs Zjo6aW50b19kcm1fZGV2aWNlKHJhd19kcm0pIH07CisgICAgICAgICAgICBsZXQgZHJtX2RldiA9 IHVuc2FmZSB7IERldmljZTo6aW50b19kcm1fZGV2aWNlKHJhd19kcm0pIH07CiAKICAgICAgICAg ICAgIC8vIFNBRkVUWTogYF9fZHJtX2Rldl9hbGxvYygpYCB3YXMgc3VjY2Vzc2Z1bCwgaGVuY2Ug YGRybV9kZXZgIG11c3QgYmUgdmFsaWQgYW5kIHRoZQogICAgICAgICAgICAgLy8gcmVmY291bnQg bXVzdCBiZSBub24temVyby4KQEAgLTE2OCw5ICsyNDAsNDcgQEAgcHViIGZuIG5ldyhkZXY6ICZk ZXZpY2U6OkRldmljZSwgZGF0YTogaW1wbCBQaW5Jbml0PFQ6OkRhdGEsIEVycm9yPikgLT4gUmVz dWx0PEEKIAogICAgICAgICAvLyBTQUZFVFk6IFRoZSByZWZlcmVuY2UgY291bnQgaXMgb25lLCBh bmQgbm93IHdlIHRha2Ugb3duZXJzaGlwIG9mIHRoYXQgcmVmZXJlbmNlIGFzIGEKICAgICAgICAg Ly8gYGRybTo6RGV2aWNlYC4KLSAgICAgICAgT2sodW5zYWZlIHsgQVJlZjo6ZnJvbV9yYXcocmF3 X2RybSkgfSkKKyAgICAgICAgLy8gSU5WQVJJQU5UOiBXZSBqdXN0IGNyZWF0ZWQgdGhlIGRldmlj ZSBhYm92ZSwgYnV0IGhhdmUgeWV0IHRvIGNhbGwgYGRybV9kZXZfcmVnaXN0ZXJgLgorICAgICAg ICAvLyBgU2VsZmAgY2Fubm90IGJlIGNvcGllZCBvciBzZW50IHRvIGFub3RoZXIgdGhyZWFkIC0g ZW5zdXJpbmcgdGhhdCBgZHJtX2Rldl9yZWdpc3RlcmAKKyAgICAgICAgLy8gd29uJ3QgYmUgY2Fs bGVkIGR1cmluZyBpdHMgbGlmZXRpbWUgYW5kIHRoYXQgdGhlIGRldmljZSBpcyB1bnJlZ2lzdGVy ZWQuCisgICAgICAgIE9rKFNlbGYodW5zYWZlIHsgQVJlZjo6ZnJvbV9yYXcocmF3X2RybSkgfSwg Tm90VGhyZWFkU2FmZSkpCiAgICAgfQorfQorCisvLy8gQSB0eXBlZCBEUk0gZGV2aWNlIHdpdGgg YSBzcGVjaWZpYyBbYGRybTo6RHJpdmVyYF0gaW1wbGVtZW50YXRpb24gYW5kIFtgRGV2aWNlQ29u dGV4dGBdLgorLy8vCisvLy8gU2luY2UgRFJNIGRldmljZXMgY2FuIGJlIHVzZWQgYmVmb3JlIGJl aW5nIGZ1bGx5IGluaXRpYWxpemVkIGFuZCByZWdpc3RlcmVkIHdpdGggdXNlcnNwYWNlLCBgQ2AK Ky8vLyByZXByZXNlbnRzIHRoZSBmdXJ0aGVzdCBbYERldmljZUNvbnRleHRgXSB3ZSBjYW4gZ3Vh cmFudGVlIHRoYXQgdGhpcyBbYERldmljZWBdIGhhcyByZWFjaGVkLgorLy8vCisvLy8gS2VlcCBp biBtaW5kOiB0aGlzIG1lYW5zIHRoYXQgYW4gdW5yZWdpc3RlcmVkIGRldmljZSBjYW4gc3RpbGwg aGF2ZSB0aGUgcmVnaXN0cmF0aW9uIHN0YXRlCisvLy8gW2BSZWdpc3RlcmVkYF0gYXMgbG9uZyBh cyBpdCB3YXMgcmVnaXN0ZXJlZCB3aXRoIHVzZXJzcGFjZSBvbmNlIGluIHRoZSBwYXN0LCBhbmQg dGhhdCB0aGUKKy8vLyBiZWhhdmlvciBvZiBzdWNoIGEgZGV2aWNlIGlzIHN0aWxsIHdlbGwtZGVm aW5lZC4gQWRkaXRpb25hbGx5LCBhIGRldmljZSB3aXRoIHRoZSByZWdpc3RyYXRpb24KKy8vLyBz dGF0ZSBbYFVuaW5pdGBdIHNpbXBseSBkb2VzIG5vdCBoYXZlIGEgZ3VhcmFudGVlZCByZWdpc3Ry YXRpb24gc3RhdGUgYXQgY29tcGlsZSB0aW1lLCBhbmQgY291bGQKKy8vLyBiZSBlaXRoZXIgcmVn aXN0ZXJlZCBvciB1bnJlZ2lzdGVyZWQuIFNpbmNlIHRoZXJlIGlzIG5vIHdheSB0byBndWFyYW50 ZWUgYSBsb25nLWxpdmVkIHJlZmVyZW5jZQorLy8vIHRvIGFuIHVucmVnaXN0ZXJlZCBkZXZpY2Ug d291bGQgcmVtYWluIHVucmVnaXN0ZXJlZCwgd2UgZG8gbm90IHByb3ZpZGUgYSBbYERldmljZUNv bnRleHRgXSBmb3IKKy8vLyB0aGlzLgorLy8vCisvLy8gIyBJbnZhcmlhbnRzCisvLy8KKy8vLyAq IGBzZWxmLmRldmAgaXMgYSB2YWxpZCBpbnN0YW5jZSBvZiBhIGBzdHJ1Y3QgZGV2aWNlYC4KKy8v LyAqIFRoZSBkYXRhIGxheW91dCBvZiBgU2VsZmAgcmVtYWlucyB0aGUgc2FtZSBhY3Jvc3MgYWxs IGltcGxlbWVudGF0aW9ucyBvZiBgQ2AuCisvLy8gKiBBbnkgaW52YXJpYW50cyBmb3IgYENgIGFs c28gYXBwbHkuCisjW3JlcHIoQyldCitwdWIgc3RydWN0IERldmljZTxUOiBkcm06OkRyaXZlciwg QzogRGV2aWNlQ29udGV4dCA9IFJlZ2lzdGVyZWQ+IHsKKyAgICBkZXY6IE9wYXF1ZTxiaW5kaW5n czo6ZHJtX2RldmljZT4sCisKKyAgICAvLy8gS2VlcHMgdHJhY2sgb2Ygd2hldGhlciB3ZSd2ZSBp bml0aWFsaXplZCB0aGUgZGV2aWNlIGRhdGEgeWV0LgorICAgIHB1YihzdXBlcikgZGF0YV9pc19p bml0OiBBdG9taWNCb29sLAogCisgICAgLy8vIFRoZSBEcml2ZXIncyBwcml2YXRlIGRhdGEuCisg ICAgLy8vCisgICAgLy8vIFRoaXMgbXVzdCBvbmx5IGJlIHdyaXR0ZW4gdG8gZnJvbSBbYERldmlj ZTo6bmV3YF0uCisgICAgcHViKHN1cGVyKSBkYXRhOiBVbnNhZmVDZWxsPE1heWJlVW5pbml0PFQ6 OkRhdGE+PiwKKworICAgIF9jdHg6IFBoYW50b21EYXRhPEM+LAorfQorCitpbXBsPFQ6IGRybTo6 RHJpdmVyLCBDOiBEZXZpY2VDb250ZXh0PiBEZXZpY2U8VCwgQz4gewogICAgIHB1YihjcmF0ZSkg Zm4gYXNfcmF3KCZzZWxmKSAtPiAqbXV0IGJpbmRpbmdzOjpkcm1fZGV2aWNlIHsKICAgICAgICAg c2VsZi5kZXYuZ2V0KCkKICAgICB9CkBAIC0xOTYsMTMgKzMwNiwxMyBAQCB1bnNhZmUgZm4gaW50 b19kcm1fZGV2aWNlKHB0cjogTm9uTnVsbDxTZWxmPikgLT4gKm11dCBiaW5kaW5nczo6ZHJtX2Rl dmljZSB7CiAgICAgLy8vCiAgICAgLy8vICMgU2FmZXR5CiAgICAgLy8vCi0gICAgLy8vIENhbGxl cnMgbXVzdCBlbnN1cmUgdGhhdCBgcHRyYCBpcyB2YWxpZCwgbm9uLW51bGwsIGFuZCBoYXMgYSBu b24temVybyByZWZlcmVuY2UgY291bnQsCi0gICAgLy8vIGkuZS4gaXQgbXVzdCBiZSBlbnN1cmVk IHRoYXQgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiB0aGUgQyBgc3RydWN0IGRybV9kZXZpY2VgIGBw dHJgIHBvaW50cwotICAgIC8vLyB0byBjYW4ndCBkcm9wIHRvIHplcm8sIGZvciB0aGUgZHVyYXRp b24gb2YgdGhpcyBmdW5jdGlvbiBjYWxsIGFuZCB0aGUgZW50aXJlIGR1cmF0aW9uIHdoZW4KLSAg ICAvLy8gdGhlIHJldHVybmVkIHJlZmVyZW5jZSBleGlzdHMuCi0gICAgLy8vCi0gICAgLy8vIEFk ZGl0aW9uYWxseSwgY2FsbGVycyBtdXN0IGVuc3VyZSB0aGF0IHRoZSBgc3RydWN0IGRldmljZWAs IGBwdHJgIGlzIHBvaW50aW5nIHRvLCBpcwotICAgIC8vLyBlbWJlZGRlZCBpbiBgU2VsZmAuCisg ICAgLy8vICogQ2FsbGVycyBtdXN0IGVuc3VyZSB0aGF0IGBwdHJgIGlzIHZhbGlkLCBub24tbnVs bCwgYW5kIGhhcyBhIG5vbi16ZXJvIHJlZmVyZW5jZSBjb3VudCwKKyAgICAvLy8gICBpLmUuIGl0 IG11c3QgYmUgZW5zdXJlZCB0aGF0IHRoZSByZWZlcmVuY2UgY291bnQgb2YgdGhlIEMgYHN0cnVj dCBkcm1fZGV2aWNlYCBgcHRyYCBwb2ludHMKKyAgICAvLy8gICB0byBjYW4ndCBkcm9wIHRvIHpl cm8sIGZvciB0aGUgZHVyYXRpb24gb2YgdGhpcyBmdW5jdGlvbiBjYWxsIGFuZCB0aGUgZW50aXJl IGR1cmF0aW9uIHdoZW4KKyAgICAvLy8gICB0aGUgcmV0dXJuZWQgcmVmZXJlbmNlIGV4aXN0cy4K KyAgICAvLy8gKiBBZGRpdGlvbmFsbHksIGNhbGxlcnMgbXVzdCBlbnN1cmUgdGhhdCB0aGUgYHN0 cnVjdCBkZXZpY2VgLCBgcHRyYCBpcyBwb2ludGluZyB0bywgaXMKKyAgICAvLy8gICBlbWJlZGRl ZCBpbiBgU2VsZmAuCisgICAgLy8vICogQ2FsbGVycyBwcm9taXNlIHRoYXQgYW55IHR5cGUgaW52 YXJpYW50cyBvZiBgQ2Agd2lsbCBiZSB1cGhlbGQuCiAgICAgI1tkb2MoaGlkZGVuKV0KICAgICBw dWIgdW5zYWZlIGZuIGZyb21fcmF3PCdhPihwdHI6ICpjb25zdCBiaW5kaW5nczo6ZHJtX2Rldmlj ZSkgLT4gJidhIFNlbGYgewogICAgICAgICAvLyBTQUZFVFk6IEJ5IHRoZSBzYWZldHkgcmVxdWly ZW1lbnRzIG9mIHRoaXMgZnVuY3Rpb24gYHB0cmAgaXMgYSB2YWxpZCBwb2ludGVyIHRvIGEKQEAg LTIzOCw5ICszNDgsMjAgQEAgZXh0ZXJuICJDIiBmbiByZWxlYXNlKHB0cjogKm11dCBiaW5kaW5n czo6ZHJtX2RldmljZSkgewogICAgICAgICAvLyAtIGB0aGlzYCBpcyB2YWxpZCBmb3IgZHJvcHBp bmcuCiAgICAgICAgIHVuc2FmZSB7IGNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZSh0aGlzKSB9Owog ICAgIH0KKworICAgIC8vLyBDaGFuZ2UgdGhlIFtgRGV2aWNlQ29udGV4dGBdIGZvciBhIFtgRGV2 aWNlYF0uCisgICAgLy8vCisgICAgLy8vICMgU2FmZXR5CisgICAgLy8vCisgICAgLy8vIFRoZSBj YWxsZXIgcHJvbWlzZXMgdGhhdCBgc2VsZmAgZnVsZmlsbHMgYWxsIG9mIHRoZSBndWFyYW50ZWVz IHByb3ZpZGVkIGJ5IHRoZSBnaXZlbgorICAgIC8vLyBbYERldmljZUNvbnRleHRgXS4KKyAgICBw dWIoY3JhdGUpIHVuc2FmZSBmbiBhc3N1bWVfY3R4PE5ld0N0eDogRGV2aWNlQ29udGV4dD4oJnNl bGYpIC0+ICZEZXZpY2U8VCwgTmV3Q3R4PiB7CisgICAgICAgIC8vIFNBRkVUWTogVGhlIGRhdGEg bGF5b3V0IGlzIGlkZW50aWNhbCB2aWEgb3VyIHR5cGUgaW52YXJpYW50cy4KKyAgICAgICAgdW5z YWZlIHsgbWVtOjp0cmFuc211dGUoc2VsZikgfQorICAgIH0KIH0KIAotaW1wbDxUOiBkcm06OkRy aXZlcj4gRGVyZWYgZm9yIERldmljZTxUPiB7CitpbXBsPFQ6IGRybTo6RHJpdmVyLCBDOiBEZXZp Y2VDb250ZXh0PiBEZXJlZiBmb3IgRGV2aWNlPFQsIEM+IHsKICAgICB0eXBlIFRhcmdldCA9IFQ6 OkRhdGE7CiAKICAgICBmbiBkZXJlZigmc2VsZikgLT4gJlNlbGY6OlRhcmdldCB7CkBAIC0yNTEs NyArMzcyLDcgQEAgZm4gZGVyZWYoJnNlbGYpIC0+ICZTZWxmOjpUYXJnZXQgewogCiAvLyBTQUZF VFk6IERSTSBkZXZpY2Ugb2JqZWN0cyBhcmUgYWx3YXlzIHJlZmVyZW5jZSBjb3VudGVkIGFuZCB0 aGUgZ2V0L3B1dCBmdW5jdGlvbnMKIC8vIHNhdGlzZnkgdGhlIHJlcXVpcmVtZW50cy4KLXVuc2Fm ZSBpbXBsPFQ6IGRybTo6RHJpdmVyPiBBbHdheXNSZWZDb3VudGVkIGZvciBEZXZpY2U8VD4gewor dW5zYWZlIGltcGw8VDogZHJtOjpEcml2ZXIsIEM6IERldmljZUNvbnRleHQ+IEFsd2F5c1JlZkNv dW50ZWQgZm9yIERldmljZTxULCBDPiB7CiAgICAgZm4gaW5jX3JlZigmc2VsZikgewogICAgICAg ICAvLyBTQUZFVFk6IFRoZSBleGlzdGVuY2Ugb2YgYSBzaGFyZWQgcmVmZXJlbmNlIGd1YXJhbnRl ZXMgdGhhdCB0aGUgcmVmY291bnQgaXMgbm9uLXplcm8uCiAgICAgICAgIHVuc2FmZSB7IGJpbmRp bmdzOjpkcm1fZGV2X2dldChzZWxmLmFzX3JhdygpKSB9OwpAQCAtMjY2LDcgKzM4Nyw3IEBAIHVu c2FmZSBmbiBkZWNfcmVmKG9iajogTm9uTnVsbDxTZWxmPikgewogICAgIH0KIH0KIAotaW1wbDxU OiBkcm06OkRyaXZlcj4gQXNSZWY8ZGV2aWNlOjpEZXZpY2U+IGZvciBEZXZpY2U8VD4geworaW1w bDxUOiBkcm06OkRyaXZlciwgQzogRGV2aWNlQ29udGV4dD4gQXNSZWY8ZGV2aWNlOjpEZXZpY2U+ IGZvciBEZXZpY2U8VCwgQz4gewogICAgIGZuIGFzX3JlZigmc2VsZikgLT4gJmRldmljZTo6RGV2 aWNlIHsKICAgICAgICAgLy8gU0FGRVRZOiBgYmluZGluZ3M6OmRybV9kZXZpY2U6OmRldmAgaXMg dmFsaWQgYXMgbG9uZyBhcyB0aGUgRFJNIGRldmljZSBpdHNlbGYgaXMgdmFsaWQsCiAgICAgICAg IC8vIHdoaWNoIGlzIGd1YXJhbnRlZWQgYnkgdGhlIHR5cGUgaW52YXJpYW50LgpAQCAtMjc1LDgg KzM5Niw4IEBAIGZuIGFzX3JlZigmc2VsZikgLT4gJmRldmljZTo6RGV2aWNlIHsKIH0KIAogLy8g U0FGRVRZOiBBIGBkcm06OkRldmljZWAgY2FuIGJlIHJlbGVhc2VkIGZyb20gYW55IHRocmVhZC4K LXVuc2FmZSBpbXBsPFQ6IGRybTo6RHJpdmVyPiBTZW5kIGZvciBEZXZpY2U8VD4ge30KK3Vuc2Fm ZSBpbXBsPFQ6IGRybTo6RHJpdmVyLCBDOiBEZXZpY2VDb250ZXh0PiBTZW5kIGZvciBEZXZpY2U8 VCwgQz4ge30KIAogLy8gU0FGRVRZOiBBIGBkcm06OkRldmljZWAgY2FuIGJlIHNoYXJlZCBhbW9u ZyB0aHJlYWRzIGJlY2F1c2UgYWxsIGltbXV0YWJsZSBtZXRob2RzIGFyZSBwcm90ZWN0ZWQKIC8v IGJ5IHRoZSBzeW5jaHJvbml6YXRpb24gaW4gYHN0cnVjdCBkcm1fZGV2aWNlYC4KLXVuc2FmZSBp bXBsPFQ6IGRybTo6RHJpdmVyPiBTeW5jIGZvciBEZXZpY2U8VD4ge30KK3Vuc2FmZSBpbXBsPFQ6 IGRybTo6RHJpdmVyLCBDOiBEZXZpY2VDb250ZXh0PiBTeW5jIGZvciBEZXZpY2U8VCwgQz4ge30K ZGlmZiAtLWdpdCBhL3J1c3Qva2VybmVsL2RybS9kcml2ZXIucnMgYi9ydXN0L2tlcm5lbC9kcm0v ZHJpdmVyLnJzCmluZGV4IDUyMzNiZGViYzlmY2QuLjU1YjAxZWUwODg1NDggMTAwNjQ0Ci0tLSBh L3J1c3Qva2VybmVsL2RybS9kcml2ZXIucnMKKysrIGIvcnVzdC9rZXJuZWwvZHJtL2RyaXZlci5y cwpAQCAtMTMsNiArMTMsMTAgQEAKICAgICBwcmVsdWRlOjoqLAogICAgIHN5bmM6OmFyZWY6OkFS ZWYsIC8vCiB9OwordXNlIGNvcmU6OnsKKyAgICBtZW0sCisgICAgcHRyOjpOb25OdWxsLCAvLwor fTsKIAogLy8vIERyaXZlciB1c2UgdGhlIEdFTSBtZW1vcnkgbWFuYWdlci4gVGhpcyBzaG91bGQg YmUgc2V0IGZvciBhbGwgbW9kZXJuIGRyaXZlcnMuCiBwdWIoY3JhdGUpIGNvbnN0IEZFQVRfR0VN OiB1MzIgPSBiaW5kaW5nczo6ZHJtX2RyaXZlcl9mZWF0dXJlX0RSSVZFUl9HRU07CkBAIC0xMjMs MjEgKzEyNywzMSBAQCBwdWIgdHJhaXQgRHJpdmVyIHsKIHB1YiBzdHJ1Y3QgUmVnaXN0cmF0aW9u PFQ6IERyaXZlcj4oQVJlZjxkcm06OkRldmljZTxUPj4pOwogCiBpbXBsPFQ6IERyaXZlcj4gUmVn aXN0cmF0aW9uPFQ+IHsKLSAgICBmbiBuZXcoZHJtOiAmZHJtOjpEZXZpY2U8VD4sIGZsYWdzOiB1 c2l6ZSkgLT4gUmVzdWx0PFNlbGY+IHsKKyAgICBmbiBuZXcoZHJtOiBkcm06OlVucmVnaXN0ZXJl ZERldmljZTxUPiwgZmxhZ3M6IHVzaXplKSAtPiBSZXN1bHQ8U2VsZj4gewogICAgICAgICAvLyBT QUZFVFk6IGBkcm0uYXNfcmF3KClgIGlzIHZhbGlkIGJ5IHRoZSBpbnZhcmlhbnRzIG9mIGBkcm06 OkRldmljZWAuCiAgICAgICAgIHRvX3Jlc3VsdCh1bnNhZmUgeyBiaW5kaW5nczo6ZHJtX2Rldl9y ZWdpc3Rlcihkcm0uYXNfcmF3KCksIGZsYWdzKSB9KT87CiAKLSAgICAgICAgT2soU2VsZihkcm0u aW50bygpKSkKKyAgICAgICAgLy8gU0FGRVRZOiBXZSBqdXN0IGNhbGxlZCBgZHJtX2Rldl9yZWdp c3RlcmAgYWJvdmUKKyAgICAgICAgbGV0IG5ldyA9IE5vbk51bGw6OmZyb20odW5zYWZlIHsgZHJt LmFzc3VtZV9jdHgoKSB9KTsKKworICAgICAgICAvLyBMZWFrIHRoZSBBUmVmIGZyb20gVW5yZWdp c3RlcmVkRGV2aWNlIGluIHByZXBhcmF0aW9uIGZvciB0cmFuc2ZlcnJpbmcgaXRzIG93bmVyc2hp cC4KKyAgICAgICAgbWVtOjpmb3JnZXQoZHJtKTsKKworICAgICAgICAvLyBTQUZFVFk6IGBkcm1g J3MgYERyb3BgIGNvbnN0cnVjdG9yIHdhcyBuZXZlciBjYWxsZWQsIGVuc3VyaW5nIHRoYXQgdGhl cmUgcmVtYWlucyBhdCBsZWFzdAorICAgICAgICAvLyBvbmUgcmVmZXJlbmNlIHRvIHRoZSBkZXZp Y2UgLSB3aGljaCB3ZSB0YWtlIG93bmVyc2hpcCBvdmVyIGhlcmUuCisgICAgICAgIGxldCBuZXcg PSB1bnNhZmUgeyBBUmVmOjpmcm9tX3JhdyhuZXcpIH07CisKKyAgICAgICAgT2soU2VsZihuZXcp KQogICAgIH0KIAotICAgIC8vLyBSZWdpc3RlcnMgYSBuZXcgW2BEZXZpY2VgXShkcm06OkRldmlj ZSkgd2l0aCB1c2Vyc3BhY2UuCisgICAgLy8vIFJlZ2lzdGVycyBhIG5ldyBbYFVucmVnaXN0ZXJl ZERldmljZWBdKGRybTo6VW5yZWdpc3RlcmVkRGV2aWNlKSB3aXRoIHVzZXJzcGFjZS4KICAgICAv Ly8KICAgICAvLy8gT3duZXJzaGlwIG9mIHRoZSBbYFJlZ2lzdHJhdGlvbmBdIG9iamVjdCBpcyBw YXNzZWQgdG8gW2BkZXZyZXM6OnJlZ2lzdGVyYF0uCi0gICAgcHViIGZuIG5ld19mb3JlaWduX293 bmVkKAotICAgICAgICBkcm06ICZkcm06OkRldmljZTxUPiwKLSAgICAgICAgZGV2OiAmZGV2aWNl OjpEZXZpY2U8ZGV2aWNlOjpCb3VuZD4sCisgICAgcHViIGZuIG5ld19mb3JlaWduX293bmVkPCdh PigKKyAgICAgICAgZHJtOiBkcm06OlVucmVnaXN0ZXJlZERldmljZTxUPiwKKyAgICAgICAgZGV2 OiAmJ2EgZGV2aWNlOjpEZXZpY2U8ZGV2aWNlOjpCb3VuZD4sCiAgICAgICAgIGZsYWdzOiB1c2l6 ZSwKLSAgICApIC0+IFJlc3VsdAorICAgICkgLT4gUmVzdWx0PCYnYSBkcm06OkRldmljZTxUPj4K ICAgICB3aGVyZQogICAgICAgICBUOiAnc3RhdGljLAogICAgIHsKQEAgLTE0Niw4ICsxNjAsMTMg QEAgcHViIGZuIG5ld19mb3JlaWduX293bmVkKAogICAgICAgICB9CiAKICAgICAgICAgbGV0IHJl ZyA9IFJlZ2lzdHJhdGlvbjo6PFQ+OjpuZXcoZHJtLCBmbGFncyk/OworICAgICAgICBsZXQgZHJt ID0gTm9uTnVsbDo6ZnJvbShyZWcuZGV2aWNlKCkpOworCisgICAgICAgIGRldnJlczo6cmVnaXN0 ZXIoZGV2LCByZWcsIEdGUF9LRVJORUwpPzsKIAotICAgICAgICBkZXZyZXM6OnJlZ2lzdGVyKGRl diwgcmVnLCBHRlBfS0VSTkVMKQorICAgICAgICAvLyBTQUZFVFk6IFNpbmNlIGByZWdgIHdhcyBw YXNzZWQgdG8gZGV2cmVzOjpyZWdpc3RlcigpLCB0aGUgZGV2aWNlIG5vdyBvd25zIHRoZSBsaWZl dGltZQorICAgICAgICAvLyBvZiB0aGUgRFJNIHJlZ2lzdHJhdGlvbiAtIGVuc3VyaW5nIHRoYXQg dGhpcyByZWZlcmVuY2VzIGxpdmVzIGZvciBhdCBsZWFzdCBhcyBsb25nIGFzICdhLgorICAgICAg ICBPayh1bnNhZmUgeyBkcm0uYXNfcmVmKCkgfSkKICAgICB9CiAKICAgICAvLy8gUmV0dXJucyBh IHJlZmVyZW5jZSB0byB0aGUgYERldmljZWAgaW5zdGFuY2UgZm9yIHRoaXMgcmVnaXN0cmF0aW9u LgpkaWZmIC0tZ2l0IGEvcnVzdC9rZXJuZWwvZHJtL21vZC5ycyBiL3J1c3Qva2VybmVsL2RybS9t b2QucnMKaW5kZXggMWI4MmI2OTQ1ZWRmMi4uNjRhNDNjYjBmZTU3YyAxMDA2NDQKLS0tIGEvcnVz dC9rZXJuZWwvZHJtL21vZC5ycworKysgYi9ydXN0L2tlcm5lbC9kcm0vbW9kLnJzCkBAIC05LDYg KzksMTAgQEAKIHB1YiBtb2QgaW9jdGw7CiAKIHB1YiB1c2Ugc2VsZjo6ZGV2aWNlOjpEZXZpY2U7 CitwdWIgdXNlIHNlbGY6OmRldmljZTo6RGV2aWNlQ29udGV4dDsKK3B1YiB1c2Ugc2VsZjo6ZGV2 aWNlOjpSZWdpc3RlcmVkOworcHViIHVzZSBzZWxmOjpkZXZpY2U6OlVuaW5pdDsKK3B1YiB1c2Ug c2VsZjo6ZGV2aWNlOjpVbnJlZ2lzdGVyZWREZXZpY2U7CiBwdWIgdXNlIHNlbGY6OmRyaXZlcjo6 RHJpdmVyOwogcHViIHVzZSBzZWxmOjpkcml2ZXI6OkRyaXZlckluZm87CiBwdWIgdXNlIHNlbGY6 OmRyaXZlcjo6UmVnaXN0cmF0aW9uOwotLSAKMi41My4wCgo=