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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 9A7B9C4725D for ; Mon, 22 Jan 2024 07:33:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=wTvwVZdyAIAr0n4F+M+snXtwf/RfPPwwUaPaCPJFrFE=; b=tRWUcKsx2Ym6MV pv4O1YobI3ViAl7+E5UjGDb/3Lj0tgwzR5LHdScDuPkn8eq4AvykgBEubOoYWG8aVdI5jwkOdjPXt o5U3qdGyQ1ctWur+GR2DqO6Ho2i7530DwF1mTnJTx6o3vBzKjvNglCHZ4ptI2ivzWbiBbQ/WcDWJJ d+A/h4Zx1OemFgllObcjHlMa76ld9qFt2eOMWU/VpZI9QepE8zNJmPePwyjhvJNW5iX1PoukB2Zht ilKBvh1Q3pBxpAHhN3mGJrjvpNfVq7NvJdKc6R0B+H8HJ6DVXyQ56W7kIqJsu/Z4ZWNyvDVPTQRKC sCr5yUZOy9J3VbzG9PNg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rRonr-00ArJY-0K; Mon, 22 Jan 2024 07:33:07 +0000 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rRonm-00ArGr-3C for linux-riscv@lists.infradead.org; Mon, 22 Jan 2024 07:33:05 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1705908780; 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=q7h2DVEhrlBFS3xqWaYiNz0NtwDtYA/pt6g+Gnzcrd4=; b=cW7HCq/kxwon6pNW6Obg3fjPKv8JIzaIgs/CR4Nt8hjNzOjpwL7W7MI+B+eelIcjhE/1rG 1OSSm6MH+3JsLyJ8g1XRksuuyp+tWmu67DwhbeqPPA7fVgtyv58r1zbLo9LynK5Gpg1yRY aJLNmtmzFvlKd3hZhU63sX9uaIOa36M= Received: from mail-pj1-f69.google.com (mail-pj1-f69.google.com [209.85.216.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-29-fopX17TwOsWkaoCkyB7JtQ-1; Mon, 22 Jan 2024 02:31:13 -0500 X-MC-Unique: fopX17TwOsWkaoCkyB7JtQ-1 Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-29013127d49so1229311a91.2 for ; Sun, 21 Jan 2024 23:31:13 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705908672; x=1706513472; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=q7h2DVEhrlBFS3xqWaYiNz0NtwDtYA/pt6g+Gnzcrd4=; b=M0BDfw72uayVtu/zGxAzBRKfedZaekpW8TARj6HioIktvqnib+KDiOqFl1jlKgAqPa +HxjgA3u4AOO7v12N3OIQVs07ISWxn2r7qVrhW31R9TVwz6lU1Ndj19Tq5OaAfV0L/Rh nsSydHcDzoglJW4vXSsdq6YdJdLd8HRhH0wU2UZwMTOhycQ7mD/Mojfrv6XfpmyaC3dr oJnOGb+WyYwx+7qP5H9XgbJSA9lN9qRE971+n7i0EHIJ6KjFXb/5sFUaa6eyJjgJ6L+X rKHuJteY1AIxUuXBZaU3UVrk4DZfL7C+4GTU9waWhZYlafexqHGE21rX3ogCtE5ahA+X xENQ== X-Gm-Message-State: AOJu0Yy3qoLpG/eIPsxFDfXcCmXal2o1UhNfmQPpEK5EaNQAHaeefqwx ecxZsWxTLEw5SRqJVP/kfznRHu9nlcJtU4zfDMKfrlrs/7f2M1WQnHNBKHJ+h7KS/VfCpU2Korh oWshxPNHsRRZOdicEF/ZSGCKRd+3qdb76ghFtfq0j3e3atrN1UGenIRRaL1pEGD3xGw== X-Received: by 2002:a17:90a:b903:b0:28e:88d9:c314 with SMTP id p3-20020a17090ab90300b0028e88d9c314mr1170554pjr.11.1705908672216; Sun, 21 Jan 2024 23:31:12 -0800 (PST) X-Google-Smtp-Source: AGHT+IHDCgmKu6d5PIapALN9UiADEjI2hUkrZBK0fyw5g8iUtS6EUbQqGF86PDL0wCSAJC+g9XfSAg== X-Received: by 2002:a17:90a:b903:b0:28e:88d9:c314 with SMTP id p3-20020a17090ab90300b0028e88d9c314mr1170530pjr.11.1705908671822; Sun, 21 Jan 2024 23:31:11 -0800 (PST) Received: from [10.72.112.63] ([43.228.180.230]) by smtp.gmail.com with ESMTPSA id li9-20020a17090b48c900b0028b3539cd97sm8995232pjb.20.2024.01.21.23.31.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 21 Jan 2024 23:31:11 -0800 (PST) Message-ID: <38d6eed5-05ff-4019-bc82-fc7356013c40@redhat.com> Date: Mon, 22 Jan 2024 17:31:00 +1000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH RFC v3 01/21] ACPI: Only enumerate enabled (or functional) devices To: "Russell King (Oracle)" , Jonathan Cameron Cc: "Rafael J. Wysocki" , "Rafael J. Wysocki" , linux-pm@vger.kernel.org, loongarch@lists.linux.dev, linux-acpi@vger.kernel.org, linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-riscv@lists.infradead.org, kvmarm@lists.linux.dev, x86@kernel.org, acpica-devel@lists.linuxfoundation.org, linux-csky@vger.kernel.org, linux-doc@vger.kernel.org, linux-ia64@vger.kernel.org, linux-parisc@vger.kernel.org, Salil Mehta , Jean-Philippe Brucker , jianyong.wu@arm.com, justin.he@arm.com, James Morse References: <20231215161539.00000940@Huawei.com> <5760569.DvuYhMxLoT@kreacher> <20240102143925.00004361@Huawei.com> <20240111101949.000075dc@Huawei.com> From: Gavin Shan In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240121_233303_187491_FA55D518 X-CRM114-Status: GOOD ( 46.05 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gMS8xMS8yNCAyMDoyNiwgUnVzc2VsbCBLaW5nIChPcmFjbGUpIHdyb3RlOgo+IE9uIFRodSwg SmFuIDExLCAyMDI0IGF0IDEwOjE5OjQ5QU0gKzAwMDAsIEpvbmF0aGFuIENhbWVyb24gd3JvdGU6 Cj4+IE9uIFR1ZSwgMiBKYW4gMjAyNCAxNDozOToyNSArMDAwMAo+PiBKb25hdGhhbiBDYW1lcm9u IDxKb25hdGhhbi5DYW1lcm9uQEh1YXdlaS5jb20+IHdyb3RlOgo+Pgo+Pj4gT24gRnJpLCAxNSBE ZWMgMjAyMyAyMDo0NzozMSArMDEwMAo+Pj4gIlJhZmFlbCBKLiBXeXNvY2tpIiA8cmp3QHJqd3lz b2NraS5uZXQ+IHdyb3RlOgo+Pj4KPj4+PiBPbiBGcmlkYXksIERlY2VtYmVyIDE1LCAyMDIzIDU6 MTU6MzkgUE0gQ0VUIEpvbmF0aGFuIENhbWVyb24gd3JvdGU6Cj4+Pj4+IE9uIEZyaSwgMTUgRGVj IDIwMjMgMTU6MzE6NTUgKzAwMDAKPj4+Pj4gIlJ1c3NlbGwgS2luZyAoT3JhY2xlKSIgPGxpbnV4 QGFybWxpbnV4Lm9yZy51az4gd3JvdGU6Cj4+Pj4+ICAgICAgCj4+Pj4+PiBPbiBUaHUsIERlYyAx NCwgMjAyMyBhdCAwNzozNzoxMFBNICswMTAwLCBSYWZhZWwgSi4gV3lzb2NraSB3cm90ZToKPj4+ Pj4+PiBPbiBUaHUsIERlYyAxNCwgMjAyMyBhdCA3OjE24oCvUE0gUmFmYWVsIEouIFd5c29ja2kg PHJhZmFlbEBrZXJuZWwub3JnPiB3cm90ZToKPj4+Pj4+Pj4KPj4+Pj4+Pj4gT24gVGh1LCBEZWMg MTQsIDIwMjMgYXQgNzoxMOKAr1BNIFJ1c3NlbGwgS2luZyAoT3JhY2xlKQo+Pj4+Pj4+PiA8bGlu dXhAYXJtbGludXgub3JnLnVrPiB3cm90ZToKPj4+Pj4+Pj4+IEkgZ3Vlc3Mgd2UgbmVlZCBzb21l dGhpbmcgbGlrZToKPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiAgICAgICAgICBpZiAoZGV2aWNlLT5zdGF0 dXMucHJlc2VudCkKPj4+Pj4+Pj4+ICAgICAgICAgICAgICAgICAgcmV0dXJuIGRldmljZS0+ZGV2 aWNlX3R5cGUgIT0gQUNQSV9CVVNfVFlQRV9QUk9DRVNTT1IgfHwKPj4+Pj4+Pj4+ICAgICAgICAg ICAgICAgICAgICAgICAgIGRldmljZS0+c3RhdHVzLmVuYWJsZWQ7Cj4+Pj4+Pj4+PiAgICAgICAg ICBlbHNlCj4+Pj4+Pj4+PiAgICAgICAgICAgICAgICAgIHJldHVybiBkZXZpY2UtPnN0YXR1cy5m dW5jdGlvbmFsOwo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IHNvIHdlIG9ubHkgY2hlY2sgZGV2aWNlLT5z dGF0dXMuZW5hYmxlZCBmb3IgcHJvY2Vzc29yLXR5cGUgZGV2aWNlcz8KPj4+Pj4+Pj4KPj4+Pj4+ Pj4gWWVzLCBzb21ldGhpbmcgbGlrZSB0aGlzLgo+Pj4+Pj4+Cj4+Pj4+Pj4gSG93ZXZlciwgdGhh dCBpcyBub3Qgc3VmZmljaWVudCwgYmVjYXVzZSB0aGVyZSBhcmUKPj4+Pj4+PiBBQ1BJX0JVU19U WVBFX0RFVklDRSBkZXZpY2VzIHJlcHJlc2VudGluZyBwcm9jZXNzb3JzLgo+Pj4+Pj4+Cj4+Pj4+ Pj4gSSdtIG5vdCBzdXJlIGFib3V0IGEgY2xlYW4gd2F5IHRvIGRvIGl0IEFUTS4KPj4+Pj4+Cj4+ Pj4+PiBPaywgaG93IGFib3V0Ogo+Pj4+Pj4KPj4+Pj4+IHN0YXRpYyBib29sIGFjcGlfZGV2X2lz X3Byb2Nlc3Nvcihjb25zdCBzdHJ1Y3QgYWNwaV9kZXZpY2UgKmRldmljZSkKPj4+Pj4+IHsKPj4+ Pj4+IAlzdHJ1Y3QgYWNwaV9oYXJkd2FyZV9pZCAqaHdpZDsKPj4+Pj4+Cj4+Pj4+PiAJaWYgKGRl dmljZS0+ZGV2aWNlX3R5cGUgPT0gQUNQSV9CVVNfVFlQRV9QUk9DRVNTT1IpCj4+Pj4+PiAJCXJl dHVybiB0cnVlOwo+Pj4+Pj4KPj4+Pj4+IAlpZiAoZGV2aWNlLT5kZXZpY2VfdHlwZSAhPSBBQ1BJ X0JVU19UWVBFX0RFVklDRSkKPj4+Pj4+IAkJcmV0dXJuIGZhbHNlOwo+Pj4+Pj4KPj4+Pj4+IAls aXN0X2Zvcl9lYWNoX2VudHJ5KGh3aWQsICZkZXZpY2UtPnBucC5pZHMsIGxpc3QpCj4+Pj4+PiAJ CWlmICghc3RyY21wKEFDUElfUFJPQ0VTU09SX09CSkVDVF9ISUQsIGh3aWQtPmlkKSB8fAo+Pj4+ Pj4gCQkgICAgIXN0cmNtcChBQ1BJX1BST0NFU1NPUl9ERVZJQ0VfSElELCBod2lkLT5pZCkpCj4+ Pj4+PiAJCQlyZXR1cm4gdHJ1ZTsKPj4+Pj4+Cj4+Pj4+PiAJcmV0dXJuIGZhbHNlOwo+Pj4+Pj4g fQo+Pj4+Pj4KPj4+Pj4+IGFuZCB0aGVuOgo+Pj4+Pj4KPj4+Pj4+IAlpZiAoZGV2aWNlLT5zdGF0 dXMucHJlc2VudCkKPj4+Pj4+IAkJcmV0dXJuICFhY3BpX2Rldl9pc19wcm9jZXNzb3IoZGV2aWNl KSB8fCBkZXZpY2UtPnN0YXR1cy5lbmFibGVkOwo+Pj4+Pj4gCWVsc2UKPj4+Pj4+IAkJcmV0dXJu IGRldmljZS0+c3RhdHVzLmZ1bmN0aW9uYWw7Cj4+Pj4+Pgo+Pj4+Pj4gPwo+Pj4+Pj4gICAgICAK Pj4+Pj4gQ2hhbmdpbmcgaXQgdG8gQ1BVIG9ubHkgZm9yIG5vdyBtYWtlcyBzZW5zZSB0byBtZSBh bmQgSSB0aGluayB0aGlzIGNvZGUgc25pcHBldCBzaG91bGQgZG8gdGhlCj4+Pj4+IGpvYi4gIE5p Y2UgYW5kIHNpbXBsZS4KPj4+Pgo+Pj4+IFdlbGwsIGV4Y2VwdCB0aGF0IGl0IGRvZXMgY2hlY2tz IHRoYXQgYXJlIGRvbmUgZWxzZXdoZXJlIHNsaWdodGx5Cj4+Pj4gZGlmZmVyZW50bHksIHdoaWNo IGZyb20gdGhlIG1haW50ZW5hbmNlIFBPViBpcyBub3QgbmljZS4KPj4+Pgo+Pj4+IE1heWJlIHNv bWV0aGluZyBsaWtlIHRoZSBhcHBlbmRlZCBwYXRjaCAodW50ZXN0ZWQpLgo+Pj4KPj4+IEhpIFJh ZmFlbCwKPj4+Cj4+PiBBcyBmYXIgYXMgSSBjYW4gc2VlIHRoYXQncyBmdW5jdGlvbmFsbHkgZXF1 aXZhbGVudCwgc28gbG9va3MgZ29vZCB0byBtZS4KPj4+IEknbSBub3Qgc2V0IHVwIHRvIHRlc3Qg dGhpcyB0b2RheSB0aG91Z2gsIHNvIHdpbGwgZGVmZXIgdG8gUnVzc2VsbCBvbiB3aGV0aGVyCj4+ PiB0aGVyZSBpcyBhbnl0aGluZyBtaXNzaW5nCj4+Pgo+Pj4gVGhhbmtzIGZvciBwdXR0aW5nIHRo aXMgdG9nZXRoZXIuCj4+Cj4+IFRoaXMgaXMgcmF0aGVyIGVtYmFycmFzc2luZy4uLgo+Pgo+PiBJ IHNwYW4gdGhpcyB1cCBvbiBhIFFFTVUgaW5zdGFuY2Ugd2l0aCBzb21lIHByaW50cyB0byBmaW5k IG91dCB3ZSBuZWVkCj4+IHRoZSAhYWNwaV9kZXZpY2VfaXNfcHJvY2Vzc29yKCkgcmVzdHJpY3Rp b24uCj4+IE9uIG15ICdyYW5kb20nIHRlc3Qgc2V0dXAgaXQgZmFpbHMgb24gb25lIGRldmljZS4g QUNQSTAwMTcgLSB3aGljaCBJCj4+IGhhcHBlbiB0byBrbm93IHJhdGhlciB3ZWxsLiBJdCdzIHRo ZSB3ZWlyZCBwc2V1ZG8gZGV2aWNlIHRoYXQgbGV0cwo+PiBhIENYTCBhd2FyZSBPUyBrbm93IHRo ZXJlIGlzIGEgQ0VEVCB0YWJsZSB0byBwcm9iZS4KPj4KPj4gV2hpbHN0IEkgcmVhbGx5IGRvbid0 IGxpa2UgdGhhdCBoYWNrIChpdCBpcyBhbGwgYWJvdXQgbWFraW5nIHNvZnR3YXJlCj4+IGRpc3Ry aWJ1dGlvbiBvZiBvdXQgb2YgdHJlZSBtb2R1bGVzIGVhc2llciByYXRoZXIgdGhhbiBzb21ldGhp bmcKPj4gZnVuZGFtZW50YWwpLCBJJ20gdGhlIENYTCBRRU1VIG1haW50YWluZXIgOigKPj4KPj4g V2lsbCBmaXggdGhhdCwgYnV0IGl0IHNob3dzIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBicm9rZW4g ZmlybXdhcmUgb3V0Cj4+IHRoZXJlLgo+Pgo+PiBPbiBwbHVzIHNpZGUsIFJhZmFlbCdzIGNvZGUg c2VlbXMgdG8gd29yayBhcyBleHBlY3RlZCBhbmQgbGV0cyB0aGF0Cj4+IGJ1Z2d5IGZpcndtYXJl IGNhcnJ5IG9uIHdvcmtpbmcgOikgU28gbGV0cyBwcmV0ZW5kIHRoZSBidWcgaW4gcWVtdQo+PiBp cyBhIGRlbGliZXJhdGUgdGVzdCBjYXNlIQo+IAo+IExvbCwgdGhhbmtzIGZvciBhIHRlc3QgY2Fz ZSBhbmQgc2hvd2luZyB0aGF0IFJhZmFlbCdzIGFwcHJvYWNoIGlzCj4gaW5kZWVkIG5lY2Vzc2Fy eS4KPiAKPiBXb3VsZCB5b3VyIHRlc3QgcXVhbGl0eSBmb3IgYSB0ZXN0ZWQtYnkgZm9yIHRoaXM/ IEZvciByZWZlcmVuY2UsIHRoaXMKPiBpcyBteSBjdXJyZW50IHZlcnNpb24gYmVsb3cgd2l0aCBS YWZhZWwncyB1cGRhdGU6Cj4gCj4gODw9PT09Cj4gRnJvbTogUnVzc2VsbCBLaW5nIChPcmFjbGUp IDxybWsra2VybmVsQGFybWxpbnV4Lm9yZy51az4KPiBTdWJqZWN0OiBbUEFUQ0hdIEFDUEk6IE9u bHkgZW51bWVyYXRlIGVuYWJsZWQgKG9yIGZ1bmN0aW9uYWwpIHByb2Nlc3Nvcgo+ICAgZGV2aWNl cwo+IAo+IEZyb206IEphbWVzIE1vcnNlIDxqYW1lcy5tb3JzZUBhcm0uY29tPgo+IAo+IFRvZGF5 IHRoZSBBQ1BJIGVudW1lcmF0aW9uIGNvZGUgJ3Zpc2l0cycgYWxsIGRldmljZXMgdGhhdCBhcmUg cHJlc2VudC4KPiAKPiBUaGlzIGlzIGEgcHJvYmxlbSBmb3IgYXJtNjQsIHdoZXJlIENQVXMgYXJl IGFsd2F5cyBwcmVzZW50LCBidXQgbm90Cj4gYWx3YXlzIGVuYWJsZWQuIFdoZW4gYSBkZXZpY2Ut Y2hlY2sgb2NjdXJzIGJlY2F1c2UgdGhlIGZpcm13YXJlLXBvbGljeQo+IGhhcyBjaGFuZ2VkIGFu ZCBhIENQVSBpcyBub3cgZW5hYmxlZCwgdGhlIGZvbGxvd2luZyBlcnJvciBvY2N1cnM6Cj4gfCBh Y3BpIEFDUEkwMDA3OjQ4OiBFbnVtZXJhdGlvbiBmYWlsdXJlCj4gCj4gVGhpcyBpcyB1bHRpbWF0 ZWx5IGJlY2F1c2UgYWNwaV9kZXZfcmVhZHlfZm9yX2VudW1lcmF0aW9uKCkgcmV0dXJucwo+IHRy dWUgZm9yIGEgZGV2aWNlIHRoYXQgaXMgbm90IGVuYWJsZWQuIFRoZSBBQ1BJIFByb2Nlc3NvciBk cml2ZXIKPiB3aWxsIG5vdCByZWdpc3RlciBzdWNoIENQVXMgYXMgdGhleSBhcmUgbm90ICdkZWNv ZGluZyB0aGVpciByZXNvdXJjZXMnLgo+IAo+IEFDUEkgYWxsb3dzIGEgZGV2aWNlIHRvIGJlIGZ1 bmN0aW9uYWwgaW5zdGVhZCBvZiBtYWludGFpbmluZyB0aGUKPiBwcmVzZW50IGFuZCBlbmFibGVk IGJpdCwgYnV0IHdlIGNhbid0IHNpbXBseSBjaGVjayB0aGUgZW5hYmxlZCBiaXQKPiBmb3IgYWxs IGRldmljZXMgc2luY2UgZmlybXdhcmUgY2FuIGJlIGJ1Z2d5Lgo+IAo+IElmIEFDUEkgaW5kaWNh dGVzIHRoYXQgdGhlIGRldmljZSBpcyBwcmVzZW50IGFuZCBlbmFibGVkLCB0aGVuIGFsbCB3ZWxs Cj4gYW5kIGdvb2QsIHdlIGNhbiBlbnVtYXRlIGl0LiBIb3dldmVyLCBpZiB0aGUgZGV2aWNlIGlz IHByZXNlbnQgYW5kIG5vdAo+IGVuYWJsZWQsIHRoZW4gd2UgYWxzbyBjaGVjayB3aGV0aGVyIHRo ZSBkZXZpY2UgaXMgYSBwcm9jZXNzb3IgZGV2aWNlCj4gdG8gbGltaXQgdGhlIGltcGFjdCBvZiB0 aGlzIG5ldyBjaGVjayB0byBqdXN0IHByb2Nlc3NvciBkZXZpY2VzLgo+IAo+IFRoaXMgYXZvaWRz IGVudW1lcmF0aW5nIHByZXNlbnQgJiYgZnVuY3Rpb25hbCBwcm9jZXNzb3IgZGV2aWNlcyB0aGF0 Cj4gYXJlIG5vdCBlbmFibGVkLgo+IAo+IFNpZ25lZC1vZmYtYnk6IEphbWVzIE1vcnNlIDxqYW1l cy5tb3JzZUBhcm0uY29tPgo+IENvLWRldmVsb3BlZC1ieTogUmFmYWVsIEouIFd5c29ja2kgPHJq d0Byand5c29ja2kubmV0Pgo+IFNpZ25lZC1vZmYtYnk6IFJ1c3NlbGwgS2luZyAoT3JhY2xlKSA8 cm1rK2tlcm5lbEBhcm1saW51eC5vcmcudWs+Cj4gLS0tCj4gQ2hhbmdlcyBzaW5jZSBSRkMgdjI6 Cj4gICAqIEluY29ycG9yYXRlIGNvbW1lbnQgc3VnZ2VzdGlvbiBieSBHYXZpbiBTaGFuLgo+IENo YW5nZXMgc2luY2UgUkZDIHYzOgo+ICAgKiBGaXhlZCAic2VydCIgdHlwby4KPiBDaGFuZ2VzIHNp bmNlIFJGQyB2MyAoc21hbGxlciBzZXJpZXMpOgo+ICAgKiBSZXN0cmljdCBjaGVja2luZyB0aGUg ZW5hYmxlZCBiaXQgdG8gcHJvY2Vzc29yIGRldmljZXMsIHVwZGF0ZQo+ICAgICBjb21taXQgY29t bWVudHMuCj4gICAqIFVzZSBSYWZhZWwncyBzdWdnZXN0aW9uIGluCj4gICAgIGh0dHBzOi8vbG9y ZS5rZXJuZWwub3JnL3IvNTc2MDU2OS5EdnVZaE14TG9UQGtyZWFjaGVyCj4gLS0tCj4gICBkcml2 ZXJzL2FjcGkvYWNwaV9wcm9jZXNzb3IuYyB8IDExICsrKysrKysrCj4gICBkcml2ZXJzL2FjcGkv ZGV2aWNlX3BtLmMgICAgICB8ICAyICstCj4gICBkcml2ZXJzL2FjcGkvZGV2aWNlX3N5c2ZzLmMg ICB8ICAyICstCj4gICBkcml2ZXJzL2FjcGkvaW50ZXJuYWwuaCAgICAgICB8ICA0ICsrLQo+ICAg ZHJpdmVycy9hY3BpL3Byb3BlcnR5LmMgICAgICAgfCAgMiArLQo+ICAgZHJpdmVycy9hY3BpL3Nj YW4uYyAgICAgICAgICAgfCA0OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQo+ ICAgNiBmaWxlcyBjaGFuZ2VkLCA1NiBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKPiAK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY3BpL2FjcGlfcHJvY2Vzc29yLmMgYi9kcml2ZXJzL2Fj cGkvYWNwaV9wcm9jZXNzb3IuYwo+IGluZGV4IDRmZTJlZjU0MDg4Yy4uY2Y3YzFjY2E2OWRkIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvYWNwaS9hY3BpX3Byb2Nlc3Nvci5jCj4gKysrIGIvZHJpdmVy cy9hY3BpL2FjcGlfcHJvY2Vzc29yLmMKPiBAQCAtNjI2LDYgKzYyNiwxNyBAQCBzdGF0aWMgc3Ry dWN0IGFjcGlfc2Nhbl9oYW5kbGVyIHByb2Nlc3Nvcl9oYW5kbGVyID0gewo+ICAgCX0sCj4gICB9 Owo+ICAgCj4gK2Jvb2wgYWNwaV9kZXZpY2VfaXNfcHJvY2Vzc29yKGNvbnN0IHN0cnVjdCBhY3Bp X2RldmljZSAqYWRldikKPiArewo+ICsJaWYgKGFkZXYtPmRldmljZV90eXBlID09IEFDUElfQlVT X1RZUEVfUFJPQ0VTU09SKQo+ICsJCXJldHVybiB0cnVlOwo+ICsKPiArCWlmIChhZGV2LT5kZXZp Y2VfdHlwZSAhPSBBQ1BJX0JVU19UWVBFX0RFVklDRSkKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwo+ ICsJcmV0dXJuIGFjcGlfc2Nhbl9jaGVja19oYW5kbGVyKGFkZXYsICZwcm9jZXNzb3JfaGFuZGxl cik7Cj4gK30KPiArCj4gICBzdGF0aWMgaW50IGFjcGlfcHJvY2Vzc29yX2NvbnRhaW5lcl9hdHRh Y2goc3RydWN0IGFjcGlfZGV2aWNlICpkZXYsCj4gICAJCQkJCSAgIGNvbnN0IHN0cnVjdCBhY3Bp X2RldmljZV9pZCAqaWQpCj4gICB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvYWNwaS9kZXZpY2Vf cG0uYyBiL2RyaXZlcnMvYWNwaS9kZXZpY2VfcG0uYwo+IGluZGV4IDNiNGQwNDhjNDk0MS4uZTNj ODBmM2IzYjU3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvYWNwaS9kZXZpY2VfcG0uYwo+ICsrKyBi L2RyaXZlcnMvYWNwaS9kZXZpY2VfcG0uYwo+IEBAIC0zMTMsNyArMzEzLDcgQEAgaW50IGFjcGlf YnVzX2luaXRfcG93ZXIoc3RydWN0IGFjcGlfZGV2aWNlICpkZXZpY2UpCj4gICAJCXJldHVybiAt RUlOVkFMOwo+ICAgCj4gICAJZGV2aWNlLT5wb3dlci5zdGF0ZSA9IEFDUElfU1RBVEVfVU5LTk9X TjsKPiAtCWlmICghYWNwaV9kZXZpY2VfaXNfcHJlc2VudChkZXZpY2UpKSB7Cj4gKwlpZiAoIWFj cGlfZGV2X3JlYWR5X2Zvcl9lbnVtZXJhdGlvbihkZXZpY2UpKSB7Cj4gICAJCWRldmljZS0+Zmxh Z3MuaW5pdGlhbGl6ZWQgPSBmYWxzZTsKPiAgIAkJcmV0dXJuIC1FTlhJTzsKPiAgIAl9Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvYWNwaS9kZXZpY2Vfc3lzZnMuYyBiL2RyaXZlcnMvYWNwaS9kZXZp Y2Vfc3lzZnMuYwo+IGluZGV4IDIzMzczZmFhMzVlYy4uYTAyNTZkMjQ5M2E3IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvYWNwaS9kZXZpY2Vfc3lzZnMuYwo+ICsrKyBiL2RyaXZlcnMvYWNwaS9kZXZp Y2Vfc3lzZnMuYwo+IEBAIC0xNDEsNyArMTQxLDcgQEAgc3RhdGljIGludCBjcmVhdGVfcG5wX21v ZGFsaWFzKGNvbnN0IHN0cnVjdCBhY3BpX2RldmljZSAqYWNwaV9kZXYsIGNoYXIgKm1vZGFsaWEK PiAgIAlzdHJ1Y3QgYWNwaV9oYXJkd2FyZV9pZCAqaWQ7Cj4gICAKPiAgIAkvKiBBdm9pZCB1bm5l Y2Vzc2FyaWx5IGxvYWRpbmcgbW9kdWxlcyBmb3Igbm9uIHByZXNlbnQgZGV2aWNlcy4gKi8KPiAt CWlmICghYWNwaV9kZXZpY2VfaXNfcHJlc2VudChhY3BpX2RldikpCj4gKwlpZiAoIWFjcGlfZGV2 X3JlYWR5X2Zvcl9lbnVtZXJhdGlvbihhY3BpX2RldikpCj4gICAJCXJldHVybiAwOwo+ICAgCj4g ICAJLyoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY3BpL2ludGVybmFsLmggYi9kcml2ZXJzL2Fj cGkvaW50ZXJuYWwuaAo+IGluZGV4IDg2NmM3YzRlZDIzMy4uOTM4OGQ0Yzg2NzRhIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvYWNwaS9pbnRlcm5hbC5oCj4gKysrIGIvZHJpdmVycy9hY3BpL2ludGVy bmFsLmgKPiBAQCAtNjIsNiArNjIsOCBAQCB2b2lkIGFjcGlfc3lzZnNfYWRkX2hvdHBsdWdfcHJv ZmlsZShzdHJ1Y3QgYWNwaV9ob3RwbHVnX3Byb2ZpbGUgKmhvdHBsdWcsCj4gICBpbnQgYWNwaV9z Y2FuX2FkZF9oYW5kbGVyX3dpdGhfaG90cGx1ZyhzdHJ1Y3QgYWNwaV9zY2FuX2hhbmRsZXIgKmhh bmRsZXIsCj4gICAJCQkJICAgICAgIGNvbnN0IGNoYXIgKmhvdHBsdWdfcHJvZmlsZV9uYW1lKTsK PiAgIHZvaWQgYWNwaV9zY2FuX2hvdHBsdWdfZW5hYmxlZChzdHJ1Y3QgYWNwaV9ob3RwbHVnX3By b2ZpbGUgKmhvdHBsdWcsIGJvb2wgdmFsKTsKPiArYm9vbCBhY3BpX3NjYW5fY2hlY2tfaGFuZGxl cihjb25zdCBzdHJ1Y3QgYWNwaV9kZXZpY2UgKmFkZXYsCj4gKwkJCSAgICAgc3RydWN0IGFjcGlf c2Nhbl9oYW5kbGVyICpoYW5kbGVyKTsKPiAgIAo+ICAgI2lmZGVmIENPTkZJR19ERUJVR19GUwo+ ICAgZXh0ZXJuIHN0cnVjdCBkZW50cnkgKmFjcGlfZGVidWdmc19kaXI7Cj4gQEAgLTEwNyw3ICsx MDksNiBAQCBpbnQgYWNwaV9kZXZpY2Vfc2V0dXBfZmlsZXMoc3RydWN0IGFjcGlfZGV2aWNlICpk ZXYpOwo+ICAgdm9pZCBhY3BpX2RldmljZV9yZW1vdmVfZmlsZXMoc3RydWN0IGFjcGlfZGV2aWNl ICpkZXYpOwo+ICAgdm9pZCBhY3BpX2RldmljZV9hZGRfZmluYWxpemUoc3RydWN0IGFjcGlfZGV2 aWNlICpkZXZpY2UpOwo+ICAgdm9pZCBhY3BpX2ZyZWVfcG5wX2lkcyhzdHJ1Y3QgYWNwaV9kZXZp Y2VfcG5wICpwbnApOwo+IC1ib29sIGFjcGlfZGV2aWNlX2lzX3ByZXNlbnQoY29uc3Qgc3RydWN0 IGFjcGlfZGV2aWNlICphZGV2KTsKPiAgIGJvb2wgYWNwaV9kZXZpY2VfaXNfYmF0dGVyeShzdHJ1 Y3QgYWNwaV9kZXZpY2UgKmFkZXYpOwo+ICAgYm9vbCBhY3BpX2RldmljZV9pc19maXJzdF9waHlz aWNhbF9ub2RlKHN0cnVjdCBhY3BpX2RldmljZSAqYWRldiwKPiAgIAkJCQkJY29uc3Qgc3RydWN0 IGRldmljZSAqZGV2KTsKPiBAQCAtMTE5LDYgKzEyMCw3IEBAIGludCBhY3BpX2J1c19yZWdpc3Rl cl9lYXJseV9kZXZpY2UoaW50IHR5cGUpOwo+ICAgY29uc3Qgc3RydWN0IGFjcGlfZGV2aWNlICph Y3BpX2NvbXBhbmlvbl9tYXRjaChjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYpOwo+ICAgaW50IF9f YWNwaV9kZXZpY2VfdWV2ZW50X21vZGFsaWFzKGNvbnN0IHN0cnVjdCBhY3BpX2RldmljZSAqYWRl diwKPiAgIAkJCQkgIHN0cnVjdCBrb2JqX3VldmVudF9lbnYgKmVudik7Cj4gK2Jvb2wgYWNwaV9k ZXZpY2VfaXNfcHJvY2Vzc29yKGNvbnN0IHN0cnVjdCBhY3BpX2RldmljZSAqYWRldik7Cj4gICAK PiAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUG93ZXIgUmVzb3VyY2UKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY3BpL3Byb3BlcnR5 LmMgYi9kcml2ZXJzL2FjcGkvcHJvcGVydHkuYwo+IGluZGV4IDY5NzlhM2Y5ZjkwYS4uMTRkNjk0 OGZkODhhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvYWNwaS9wcm9wZXJ0eS5jCj4gKysrIGIvZHJp dmVycy9hY3BpL3Byb3BlcnR5LmMKPiBAQCAtMTQyMCw3ICsxNDIwLDcgQEAgc3RhdGljIGJvb2wg YWNwaV9md25vZGVfZGV2aWNlX2lzX2F2YWlsYWJsZShjb25zdCBzdHJ1Y3QgZndub2RlX2hhbmRs ZSAqZndub2RlKQo+ICAgCWlmICghaXNfYWNwaV9kZXZpY2Vfbm9kZShmd25vZGUpKQo+ICAgCQly ZXR1cm4gZmFsc2U7Cj4gICAKPiAtCXJldHVybiBhY3BpX2RldmljZV9pc19wcmVzZW50KHRvX2Fj cGlfZGV2aWNlX25vZGUoZndub2RlKSk7Cj4gKwlyZXR1cm4gYWNwaV9kZXZfcmVhZHlfZm9yX2Vu dW1lcmF0aW9uKHRvX2FjcGlfZGV2aWNlX25vZGUoZndub2RlKSk7Cj4gICB9Cj4gICAKPiAgIHN0 YXRpYyBjb25zdCB2b2lkICoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY3BpL3NjYW4uYyBiL2Ry aXZlcnMvYWNwaS9zY2FuLmMKPiBpbmRleCAwMmJiMmNjZTQyM2YuLmY5NGQxZjc0NGJjYyAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2FjcGkvc2Nhbi5jCj4gKysrIGIvZHJpdmVycy9hY3BpL3NjYW4u Ywo+IEBAIC0zMDQsNyArMzA0LDcgQEAgc3RhdGljIGludCBhY3BpX3NjYW5fZGV2aWNlX2NoZWNr KHN0cnVjdCBhY3BpX2RldmljZSAqYWRldikKPiAgIAlpbnQgZXJyb3I7Cj4gICAKPiAgIAlhY3Bp X2J1c19nZXRfc3RhdHVzKGFkZXYpOwo+IC0JaWYgKGFjcGlfZGV2aWNlX2lzX3ByZXNlbnQoYWRl dikpIHsKPiArCWlmIChhY3BpX2Rldl9yZWFkeV9mb3JfZW51bWVyYXRpb24oYWRldikpIHsKPiAg IAkJLyoKPiAgIAkJICogVGhpcyBmdW5jdGlvbiBpcyBvbmx5IGNhbGxlZCBmb3IgZGV2aWNlIG9i amVjdHMgZm9yIHdoaWNoCj4gICAJCSAqIG1hdGNoaW5nIHNjYW4gaGFuZGxlcnMgZXhpc3QuICBU aGUgb25seSBzaXR1YXRpb24gaW4gd2hpY2gKPiBAQCAtMzM4LDcgKzMzOCw3IEBAIHN0YXRpYyBp bnQgYWNwaV9zY2FuX2J1c19jaGVjayhzdHJ1Y3QgYWNwaV9kZXZpY2UgKmFkZXYsIHZvaWQgKm5v dF91c2VkKQo+ICAgCWludCBlcnJvcjsKPiAgIAo+ICAgCWFjcGlfYnVzX2dldF9zdGF0dXMoYWRl dik7Cj4gLQlpZiAoIWFjcGlfZGV2aWNlX2lzX3ByZXNlbnQoYWRldikpIHsKPiArCWlmICghYWNw aV9kZXZfcmVhZHlfZm9yX2VudW1lcmF0aW9uKGFkZXYpKSB7Cj4gICAJCWFjcGlfc2Nhbl9kZXZp Y2Vfbm90X2VudW1lcmF0ZWQoYWRldik7Cj4gICAJCXJldHVybiAwOwo+ICAgCX0KPiBAQCAtMTkx MywxMSArMTkxMyw2IEBAIHN0YXRpYyBib29sIGFjcGlfZGV2aWNlX3Nob3VsZF9iZV9oaWRkZW4o YWNwaV9oYW5kbGUgaGFuZGxlKQo+ICAgCXJldHVybiB0cnVlOwo+ICAgfQo+ICAgCj4gLWJvb2wg YWNwaV9kZXZpY2VfaXNfcHJlc2VudChjb25zdCBzdHJ1Y3QgYWNwaV9kZXZpY2UgKmFkZXYpCj4g LXsKPiAtCXJldHVybiBhZGV2LT5zdGF0dXMucHJlc2VudCB8fCBhZGV2LT5zdGF0dXMuZnVuY3Rp b25hbDsKPiAtfQo+IC0KPiAgIHN0YXRpYyBib29sIGFjcGlfc2Nhbl9oYW5kbGVyX21hdGNoaW5n KHN0cnVjdCBhY3BpX3NjYW5faGFuZGxlciAqaGFuZGxlciwKPiAgIAkJCQkgICAgICAgY29uc3Qg Y2hhciAqaWRzdHIsCj4gICAJCQkJICAgICAgIGNvbnN0IHN0cnVjdCBhY3BpX2RldmljZV9pZCAq Km1hdGNoaWQpCj4gQEAgLTE5MzgsNiArMTkzMywxOCBAQCBzdGF0aWMgYm9vbCBhY3BpX3NjYW5f aGFuZGxlcl9tYXRjaGluZyhzdHJ1Y3QgYWNwaV9zY2FuX2hhbmRsZXIgKmhhbmRsZXIsCj4gICAJ cmV0dXJuIGZhbHNlOwo+ICAgfQo+ICAgCj4gK2Jvb2wgYWNwaV9zY2FuX2NoZWNrX2hhbmRsZXIo Y29uc3Qgc3RydWN0IGFjcGlfZGV2aWNlICphZGV2LAo+ICsJCQkgICAgIHN0cnVjdCBhY3BpX3Nj YW5faGFuZGxlciAqaGFuZGxlcikKPiArewo+ICsJc3RydWN0IGFjcGlfaGFyZHdhcmVfaWQgKmh3 aWQ7Cj4gKwo+ICsJbGlzdF9mb3JfZWFjaF9lbnRyeShod2lkLCAmYWRldi0+cG5wLmlkcywgbGlz dCkKPiArCQlpZiAoYWNwaV9zY2FuX2hhbmRsZXJfbWF0Y2hpbmcoaGFuZGxlciwgaHdpZC0+aWQs IE5VTEwpKQo+ICsJCQlyZXR1cm4gdHJ1ZTsKPiArCj4gKwlyZXR1cm4gZmFsc2U7Cj4gK30KPiAr Cj4gICBzdGF0aWMgc3RydWN0IGFjcGlfc2Nhbl9oYW5kbGVyICphY3BpX3NjYW5fbWF0Y2hfaGFu ZGxlcihjb25zdCBjaGFyICppZHN0ciwKPiAgIAkJCQkJY29uc3Qgc3RydWN0IGFjcGlfZGV2aWNl X2lkICoqbWF0Y2hpZCkKPiAgIHsKPiBAQCAtMjM4MSwxNiArMjM4OCwzOCBAQCBFWFBPUlRfU1lN Qk9MX0dQTChhY3BpX2Rldl9jbGVhcl9kZXBlbmRlbmNpZXMpOwo+ICAgICogYWNwaV9kZXZfcmVh ZHlfZm9yX2VudW1lcmF0aW9uIC0gQ2hlY2sgaWYgdGhlIEFDUEkgZGV2aWNlIGlzIHJlYWR5IGZv ciBlbnVtZXJhdGlvbgo+ICAgICogQGRldmljZTogUG9pbnRlciB0byB0aGUgJnN0cnVjdCBhY3Bp X2RldmljZSB0byBjaGVjawo+ICAgICoKPiAtICogQ2hlY2sgaWYgdGhlIGRldmljZSBpcyBwcmVz ZW50IGFuZCBoYXMgbm8gdW5tZXQgZGVwZW5kZW5jaWVzLgo+ICsgKiBDaGVjayBpZiB0aGUgZGV2 aWNlIGlzIGZ1bmN0aW9uYWwgb3IgZW5hYmxlZCBhbmQgaGFzIG5vIHVubWV0IGRlcGVuZGVuY2ll cy4KPiAgICAqCj4gLSAqIFJldHVybiB0cnVlIGlmIHRoZSBkZXZpY2UgaXMgcmVhZHkgZm9yIGVu dW1lcmF0aW5vLiBPdGhlcndpc2UsIHJldHVybiBmYWxzZS4KPiArICogUmV0dXJuIHRydWUgaWYg dGhlIGRldmljZSBpcyByZWFkeSBmb3IgZW51bWVyYXRpb24uIE90aGVyd2lzZSwgcmV0dXJuIGZh bHNlLgo+ICAgICovCj4gICBib29sIGFjcGlfZGV2X3JlYWR5X2Zvcl9lbnVtZXJhdGlvbihjb25z dCBzdHJ1Y3QgYWNwaV9kZXZpY2UgKmRldmljZSkKPiAgIHsKPiAgIAlpZiAoZGV2aWNlLT5mbGFn cy5ob25vcl9kZXBzICYmIGRldmljZS0+ZGVwX3VubWV0KQo+ICAgCQlyZXR1cm4gZmFsc2U7Cj4g ICAKPiAtCXJldHVybiBhY3BpX2RldmljZV9pc19wcmVzZW50KGRldmljZSk7Cj4gKwkvKgo+ICsJ ICogQUNQSSA2LjUncyA2LjMuNyAiX1NUQSAoRGV2aWNlIFN0YXR1cykiIGFsbG93cyBmaXJtd2Fy ZSB0byByZXR1cm4KPiArCSAqICghcHJlc2VudCAmJiBmdW5jdGlvbmFsKSBmb3IgY2VydGFpbiB0 eXBlcyBvZiBkZXZpY2VzIHRoYXQgc2hvdWxkIGJlCj4gKwkgKiBlbnVtZXJhdGVkLiBOb3RlIHRo YXQgdGhlIGVuYWJsZWQgYml0IHNob3VsZCBub3QgYmUgc2V0IHVubGVzcyB0aGUKPiArCSAqIHBy ZXNlbnQgYml0IGlzIHNldC4KPiArCSAqCj4gKwkgKiBIb3dldmVyLCBsaW1pdCB0aGlzIG9ubHkg dG8gcHJvY2Vzc29yIGRldmljZXMgdG8gcmVkdWNlIHBvc3NpYmxlCj4gKwkgKiByZWdyZXNzaW9u cyB3aXRoIGZpcm13YXJlLgo+ICsJICovCj4gKwlpZiAoZGV2aWNlLT5zdGF0dXMuZnVuY3Rpb25h bCkKPiArCQlyZXR1cm4gdHJ1ZTsKPiArCj4gKwlpZiAoIWRldmljZS0+c3RhdHVzLnByZXNlbnQp Cj4gKwkJcmV0dXJuIGZhbHNlOwo+ICsKPiArCS8qCj4gKwkgKiBGYXN0IHBhdGggLSBpZiBlbmFi bGVkIGlzIHNldCwgYXZvaWQgdGhlIG1vcmUgZXhwZW5zaXZlIHRlc3QgdG8KPiArCSAqIGNoZWNr IHdoZXRoZXIgdGhpcyBkZXZpY2UgaXMgYSBwcm9jZXNzb3IuCj4gKwkgKi8KPiArCWlmIChkZXZp Y2UtPnN0YXR1cy5lbmFibGVkKQo+ICsJCXJldHVybiB0cnVlOwo+ICsKCkl0IG1heSBiZSB3b3J0 aHkgdG8gcmVwbGFjZSAnaWYgZW5hYmxlZCBpcyBzZXQnIHdpdGggJ2lmIHRoZSBlbmFibGVkIGJp dCBpcyBzZXQnLAp0byBiZSBjb25zaXN0ZW50IHdpdGggdGhlIHRlcm1pbm9sb2dpZXMgdXNlZCBp biB0aGUgYWJvdmUgY29tbWVudHMuCgpBcGFydCBmcm9tIGl0LCB0aGUgcGF0Y2ggaXRzZWxmIGxv b2tzIGdvb2QgdG8gbWUuCgo+ICsJcmV0dXJuICFhY3BpX2RldmljZV9pc19wcm9jZXNzb3IoZGV2 aWNlKTsKPiAgIH0KPiAgIEVYUE9SVF9TWU1CT0xfR1BMKGFjcGlfZGV2X3JlYWR5X2Zvcl9lbnVt ZXJhdGlvbik7Cj4gICAKClRoYW5rcywKR2F2aW4KCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1yaXNjdiBtYWlsaW5nIGxpc3QKbGludXgtcmlz Y3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2xpbnV4LXJpc2N2Cg==