From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 87E42AC1CA3 for ; Fri, 10 Nov 2023 23:59:23 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=fpUdr+CwB4ZZdMegu11w/dZ1pjjsdU/JsJQnrQfTpow=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding:Content-Type; s=20140610; t=1699660762; v=1; b=GdHuoOR1tT/JdOZ6/tyfp2f88TA++HqcsJnhZgWX+FgQZj01ZXKuLvn0TgSNwBOfS+qfDmvG f9qDPg9u41R11W+AiJoRkIk7QW5gkshAhPBIE8PciEJmx939/JQCzpesnWUGF5bShvo2mKW50Q4 csKBCzJGCo1lHKsx6fKWFNtk= X-Received: by 127.0.0.2 with SMTP id lFl1YY7687511xHJG6MWCkqP; Fri, 10 Nov 2023 15:59:22 -0800 X-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.groups.io with SMTP id smtpd.web10.42638.1699660760690017399 for ; Fri, 10 Nov 2023 15:59:20 -0800 X-Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-445-ZNaZxKzDMAW9RMmmw2FM2g-1; Fri, 10 Nov 2023 18:59:18 -0500 X-MC-Unique: ZNaZxKzDMAW9RMmmw2FM2g-1 X-Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 4070E3C0C48E; Fri, 10 Nov 2023 23:59:18 +0000 (UTC) X-Received: from lacos-laptop-9.usersys.redhat.com (unknown [10.39.192.173]) by smtp.corp.redhat.com (Postfix) with ESMTP id 651B8C1596F; Fri, 10 Nov 2023 23:59:17 +0000 (UTC) From: "Laszlo Ersek" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Gerd Hoffmann , Jiewen Yao Subject: [edk2-devel] [PATCH 13/37] OvmfPkg/IncompatiblePciDeviceSupportDxe: ignore CSM presence Date: Sat, 11 Nov 2023 00:57:56 +0100 Message-Id: <20231110235820.644381-14-lersek@redhat.com> In-Reply-To: <20231110235820.644381-1-lersek@redhat.com> References: <20231110235820.644381-1-lersek@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,lersek@redhat.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: 3HxNh2bkYqP7EgbE1THhT2sjx7686176AA= Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="US-ASCII"; x-default=true X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=GdHuoOR1; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=redhat.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io VGhlIFVFRkkgcHJvdG9jb2wgZGF0YWJhc2UgY2Fubm90IGNvbnRhaW4gZ0VmaUxlZ2FjeUJpb3NQ cm90b2NvbEd1aWQgYW55CmxvbmdlciwgYWZ0ZXIgZXhjbHVkaW5nIExlZ2FjeUJpb3NEeGUgZnJv bSB0aGUgT1ZNRiBwbGF0Zm9ybXMuIFRoZXJlZm9yZSwKaW5zdHJ1Y3QgUGNpQnVzRHhlIGZyb20g SW5jb21wYXRpYmxlUGNpRGV2aWNlU3VwcG9ydER4ZSB0byBhbGxvY2F0ZSA2NC1iaXQKQkFScyBh Ym92ZSA0IEdCIHJlZ2FyZGxlc3Mgb2YgYSBDU00uCgpSZWdyZXNzaW9uIHRlc3Q6IGluIGNvbW1p dCA4NTU3NDNmNzE3NzQgKCJPdm1mUGtnOiBwcmV2ZW50IDY0LWJpdCBNTUlPIEJBUgpkZWdyYWRh dGlvbiBpZiB0aGVyZSBpcyBubyBDU00iLCAyMDE2LTA1LTI1KSwgd2hlcmUgd2UgaW50cm9kdWNl ZApJbmNvbXBhdGlibGVQY2lEZXZpY2VTdXBwb3J0RHhlLCB3ZSBzYWlkLCAiQnkgZGVmYXVsdCwg dGhlIFBDSSBCdXMgZHJpdmVyCmNvbnNpZGVycyBhbiBvcHRpb24gUk9NIHJlYXNvbiBlbm91Z2gg Zm9yIGFsbG9jYXRpbmcgdGhlIDY0LWJpdCBNTUlPIEJBUnMKaW4gMzItYml0IGFkZHJlc3Mgc3Bh Y2UiLiBUaGVyZWZvcmUgaXQgc3VmZmljZXMgdG8gdmVyaWZ5IHRoZSA2NC1iaXQgQkFScwpvZiBh IGRldmljZSBmb3Igd2hpY2ggUUVNVSBwcm92aWRlcyBhbiBvcHRpb24gUk9NLiBUaGUgc2ltcGxl c3QgY2FzZSBpcwp0aGUgdmlydGlvLW5ldC1wY2kgZGV2aWNlLiBBbmQgaW5kZWVkLCB3aXRoIHRo aXMgcGF0Y2ggYXBwbGllZCwgdGhlIGxvZwpjb250YWluczoKCj4gUGNpQnVzOiBEaXNjb3ZlcmVk IFBDSSBAIFswNHwwMHwwMF0gIFtWSUQgPSAweDFBRjQsIERJRCA9IDB4MTA0MV0KPiAgICBCQVJb MV06IFR5cGUgPSAgTWVtMzI7IEFsaWdubWVudCA9IDB4RkZGOyAgICBMZW5ndGggPSAweDEwMDA7 ICAgICAgICBPZmZzZXQgPSAweDE0Cj4gICAgQkFSWzRdOiBUeXBlID0gUE1lbTY0OyBBbGlnbm1l bnQgPSAweDNGRkY7ICAgTGVuZ3RoID0gMHg0MDAwOyAgICAgICAgT2Zmc2V0ID0gMHgyMAoKVGhp cyBwb3J0aW9uIHNob3dzIHRoYXQgQnVzfERldmljZXxGdW5jdGlvbiAwNHwwMHwwMCBpcyBhICht b2Rlcm4pCnZpcml0by1uZXQtcGNpIGRldmljZSBbVklEID0gMHgxQUY0LCBESUQgPSAweDEwNDFd LgoKPiBQY2lCdXM6IFJlc291cmNlIE1hcCBmb3IgQnJpZGdlIFswMHwwMXwwM10KPiBUeXBlID0g IE1lbTMyOyBCYXNlID0gMHg4MTIwMDAwMDsgICAgICAgTGVuZ3RoID0gMHgyMDAwMDA7ICAgICAg QWxpZ25tZW50ID0gMHgxRkZGRkYKPiAgICBCYXNlID0gUGFkZGluZzsgICAgICBMZW5ndGggPSAw eDIwMDAwMDsgICAgICBBbGlnbm1lbnQgPSAweDFGRkZGRgo+ICAgIEJhc2UgPSAweDgxMjAwMDAw OyAgIExlbmd0aCA9IDB4MTAwMDsgICAgICAgIEFsaWdubWVudCA9IDB4RkZGOyAgICAgIE93bmVy ID0gUENJIFswNHwwMHwwMDoxNF0KPiBUeXBlID0gIE1lbTMyOyBCYXNlID0gMHg4MUE0MzAwMDsg ICAgICAgTGVuZ3RoID0gMHgxMDAwOyAgICAgICAgQWxpZ25tZW50ID0gMHhGRkYKPiBUeXBlID0g UE1lbTY0OyBCYXNlID0gMHg4MDAyMDAwMDA7ICAgICAgTGVuZ3RoID0gMHgxMDAwMDA7ICAgICAg QWxpZ25tZW50ID0gMHhGRkZGRgo+ICAgIEJhc2UgPSAweDgwMDIwMDAwMDsgIExlbmd0aCA9IDB4 NDAwMDsgICAgICAgIEFsaWdubWVudCA9IDB4M0ZGRjsgICAgIE93bmVyID0gUENJIFswNHwwMHww MDoyMF0KClRoaXMgcXVvdGUgc2hvd3MgdGhhdCAwNHwwMHwwMCBoYXMgYSBCQVIgYXQgMHg4XzAw MjBfMDAwMC4KCihJdCBhbHNvIHNob3dzIHRoYXQgdGhlIGRldmljZSBpcyBiZWhpbmQgYSBicmlk Z2UgKFBDSWUgcm9vdCBwb3J0KSB3aG9zZQpvd24gQkRGIGlzIDAwfDAxfDAzLikKCj4gW1NlY3Vy aXR5XSAzcmQgcGFydHkgaW1hZ2VbN0NFRUI0MThdIGNhbiBiZSBsb2FkZWQgYWZ0ZXIgRW5kT2ZE eGU6IFBjaVJvb3QoMHgwKS9QY2koMHgxLDB4MykvUGNpKDB4MCwweDApL09mZnNldCgweDEwRTAw LDB4MjczRkYpLgo+IE5vbmUgb2YgVGNnMlByb3RvY29sL0NjTWVhc3VyZW1lbnRQcm90b2NvbCBp cyBpbnN0YWxsZWQuCj4gSW5zdGFsbFByb3RvY29sSW50ZXJmYWNlOiBbRWZpTG9hZGVkSW1hZ2VQ cm90b2NvbF0gN0QyRTUxNDAKPiBMb2FkaW5nIGRyaXZlciBhdCAweDAwMDdDQTlGMDAwIEVudHJ5 UG9pbnQ9MHgwMDA3Q0FBNTQ0NyAxYWY0MTAwMC5lZmkKPiBJbnN0YWxsUHJvdG9jb2xJbnRlcmZh Y2U6IFtFZmlMb2FkZWRJbWFnZURldmljZVBhdGhQcm90b2NvbF0gN0Q1QjIxOTgKCkFuZCB0aGlz IHBhcnQgZmluYWxseSBzaG93cyB0aGF0IHRoZSBpUFhFIG9wdGlvbiBST00gZm9yIHRoZSBkZXZp Y2UKKDFhZjQxMDAwLmVmaSkgd2FzIGRldGVjdGVkIGFuZCBpcyBsb2FkZWQuIChTYW1lIFBDSWUg cm9vdCBwb3J0LCBhbmQgUENJZQpyb290IHBvcnRzIGNhbiBvbmx5IGhvc3QgYSBzaW5nbGUgZGV2 aWNlLikKCkNjOiBBcmQgQmllc2hldXZlbCA8YXJkYit0aWFub2NvcmVAa2VybmVsLm9yZz4KQ2M6 IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgpDYzogSmlld2VuIFlhbyA8amlld2Vu Lnlhb0BpbnRlbC5jb20+ClJlZjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3df YnVnLmNnaT9pZD00NTg4ClNpZ25lZC1vZmYtYnk6IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhh dC5jb20+Ci0tLQogT3ZtZlBrZy9JbmNvbXBhdGlibGVQY2lEZXZpY2VTdXBwb3J0RHhlL0luY29t cGF0aWJsZVBjaURldmljZVN1cHBvcnQuaW5mIHwgICA1ICstCiBPdm1mUGtnL0luY29tcGF0aWJs ZVBjaURldmljZVN1cHBvcnREeGUvSW5jb21wYXRpYmxlUGNpRGV2aWNlU3VwcG9ydC5jICAgfCAx NDEgKy0tLS0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCsp LCAxNDAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvT3ZtZlBrZy9JbmNvbXBhdGlibGVQY2lE ZXZpY2VTdXBwb3J0RHhlL0luY29tcGF0aWJsZVBjaURldmljZVN1cHBvcnQuaW5mIGIvT3ZtZlBr Zy9JbmNvbXBhdGlibGVQY2lEZXZpY2VTdXBwb3J0RHhlL0luY29tcGF0aWJsZVBjaURldmljZVN1 cHBvcnQuaW5mCmluZGV4IGFkMzgxMjhmY2JmOS4uYjkyNjYyZDBiYjM2IDEwMDY0NAotLS0gYS9P dm1mUGtnL0luY29tcGF0aWJsZVBjaURldmljZVN1cHBvcnREeGUvSW5jb21wYXRpYmxlUGNpRGV2 aWNlU3VwcG9ydC5pbmYKKysrIGIvT3ZtZlBrZy9JbmNvbXBhdGlibGVQY2lEZXZpY2VTdXBwb3J0 RHhlL0luY29tcGF0aWJsZVBjaURldmljZVN1cHBvcnQuaW5mCkBAIC0xLDcgKzEsNyBAQAogIyMg QGZpbGUNCiAjIEEgc2ltcGxlIERYRV9EUklWRVIgdGhhdCBjYXVzZXMgdGhlIFBDSSBCdXMgVUVG SV9EUklWRVIgdG8gYWxsb2NhdGUgNjQtYml0DQotIyBNTUlPIEJBUnMgYWJvdmUgNCBHQiwgcmVn YXJkbGVzcyBvZiBvcHRpb24gUk9NIGF2YWlsYWJpbGl0eSAoYXMgbG9uZyBhcyBhIENTTQ0KLSMg aXMgbm90IHByZXNlbnQpLCBjb25zZXJ2aW5nIDMyLWJpdCBNTUlPIGFwZXJ0dXJlIGZvciAzMi1i aXQgQkFScy4NCisjIE1NSU8gQkFScyBhYm92ZSA0IEdCLCByZWdhcmRsZXNzIG9mIG9wdGlvbiBS T00gYXZhaWxhYmlsaXR5LCBjb25zZXJ2aW5nIDMyLWJpdA0KKyMgTU1JTyBhcGVydHVyZSBmb3Ig MzItYml0IEJBUnMuDQogIw0KICMgQ29weXJpZ2h0IChDKSAyMDE2LCBSZWQgSGF0LCBJbmMuDQog Iw0KQEAgLTMzLDcgKzMzLDYgQEAgW0xpYnJhcnlDbGFzc2VzXQogDQogW1Byb3RvY29sc10NCiAg IGdFZmlJbmNvbXBhdGlibGVQY2lEZXZpY2VTdXBwb3J0UHJvdG9jb2xHdWlkICMjIFNPTUVUSU1F U19QUk9EVUNFUw0KLSAgZ0VmaUxlZ2FjeUJpb3NQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAg ICAgIyMgTk9USUZZDQogDQogW1BjZF0NCiAgIGdVZWZpT3ZtZlBrZ1Rva2VuU3BhY2VHdWlkLlBj ZFBjaU1taW82NFNpemUgICAgICAgICAgICAgICAgIyMgQ09OU1VNRVMNCmRpZmYgLS1naXQgYS9P dm1mUGtnL0luY29tcGF0aWJsZVBjaURldmljZVN1cHBvcnREeGUvSW5jb21wYXRpYmxlUGNpRGV2 aWNlU3VwcG9ydC5jIGIvT3ZtZlBrZy9JbmNvbXBhdGlibGVQY2lEZXZpY2VTdXBwb3J0RHhlL0lu Y29tcGF0aWJsZVBjaURldmljZVN1cHBvcnQuYwppbmRleCAzMDkyYTE3NGJjNTEuLjQzNGNkY2E4 NGIyMyAxMDA2NDQKLS0tIGEvT3ZtZlBrZy9JbmNvbXBhdGlibGVQY2lEZXZpY2VTdXBwb3J0RHhl L0luY29tcGF0aWJsZVBjaURldmljZVN1cHBvcnQuYworKysgYi9Pdm1mUGtnL0luY29tcGF0aWJs ZVBjaURldmljZVN1cHBvcnREeGUvSW5jb21wYXRpYmxlUGNpRGV2aWNlU3VwcG9ydC5jCkBAIC0x LDcgKzEsNyBAQAogLyoqIEBmaWxlDQogICBBIHNpbXBsZSBEWEVfRFJJVkVSIHRoYXQgY2F1c2Vz IHRoZSBQQ0kgQnVzIFVFRklfRFJJVkVSIHRvIGFsbG9jYXRlIDY0LWJpdA0KLSAgTU1JTyBCQVJz IGFib3ZlIDQgR0IsIHJlZ2FyZGxlc3Mgb2Ygb3B0aW9uIFJPTSBhdmFpbGFiaWxpdHkgKGFzIGxv bmcgYXMgYSBDU00NCi0gIGlzIG5vdCBwcmVzZW50KSwgY29uc2VydmluZyAzMi1iaXQgTU1JTyBh cGVydHVyZSBmb3IgMzItYml0IEJBUnMuDQorICBNTUlPIEJBUnMgYWJvdmUgNCBHQiwgcmVnYXJk bGVzcyBvZiBvcHRpb24gUk9NIGF2YWlsYWJpbGl0eSwgY29uc2VydmluZyAzMi1iaXQNCisgIE1N SU8gYXBlcnR1cmUgZm9yIDMyLWJpdCBCQVJzLg0KIA0KICAgQ29weXJpZ2h0IChDKSAyMDE2LCBS ZWQgSGF0LCBJbmMuDQogICBDb3B5cmlnaHQgKGMpIDIwMTcsIEludGVsIENvcnBvcmF0aW9uLiBB bGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCkBAIC0yMSwxMiArMjEsNiBAQAogI2luY2x1ZGUgPExp YnJhcnkvQ2NQcm9iZUxpYi5oPg0KIA0KICNpbmNsdWRlIDxQcm90b2NvbC9JbmNvbXBhdGlibGVQ Y2lEZXZpY2VTdXBwb3J0Lmg+DQotI2luY2x1ZGUgPFByb3RvY29sL0xlZ2FjeUJpb3MuaD4NCi0N Ci0vLw0KLS8vIFRoZSBMZWdhY3kgQklPUyBwcm90b2NvbCBoYXMgYmVlbiBsb2NhdGVkLg0KLS8v DQotU1RBVElDIEJPT0xFQU4gIG1MZWdhY3lCaW9zSW5zdGFsbGVkOw0KIA0KIC8vDQogLy8gVGhl IHByb3RvY29sIGludGVyZmFjZSB0aGlzIGRyaXZlciBwcm9kdWNlcy4NCkBAIC0xMTEsNTAgKzEw NSw2IEBAIFNUQVRJQyBDT05TVCBFRklfQUNQSV9FTkRfVEFHX0RFU0NSSVBUT1IgIG1FbmREZXNj ID0gewogICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ly8gQ2hlY2tzdW06IHRvIGJlIGlnbm9yZWQNCiB9Ow0KIA0KLS8vDQotLy8gVGhlIENoZWNrRGV2 aWNlKCkgbWVtYmVyIGZ1bmN0aW9uIGhhcyBiZWVuIGNhbGxlZC4NCi0vLw0KLVNUQVRJQyBCT09M RUFOICBtQ2hlY2tEZXZpY2VDYWxsZWQ7DQotDQotLyoqDQotICBOb3RpZmljYXRpb24gY2FsbGJh Y2sgZm9yIExlZ2FjeSBCSU9TIHByb3RvY29sIGluc3RhbGxhdGlvbi4NCi0NCi0gIEBwYXJhbVtp bl0gRXZlbnQgICAgRXZlbnQgd2hvc2Ugbm90aWZpY2F0aW9uIGZ1bmN0aW9uIGlzIGJlaW5nIGlu dm9rZWQuDQotDQotICBAcGFyYW1baW5dIENvbnRleHQgIFRoZSBwb2ludGVyIHRvIHRoZSBub3Rp ZmljYXRpb24gZnVuY3Rpb24ncyBjb250ZXh0LCB3aGljaA0KLSAgICAgICAgICAgICAgICAgICAg ICBpcyBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQuDQotKiovDQotU1RBVElDDQotVk9JRA0KLUVG SUFQSQ0KLUxlZ2FjeUJpb3NJbnN0YWxsZWQgKA0KLSAgSU4gRUZJX0VWRU5UICBFdmVudCwNCi0g IElOIFZPSUQgICAgICAgKkNvbnRleHQNCi0gICkNCi17DQotICBFRklfU1RBVFVTICAgICAgICAg ICAgICAgIFN0YXR1czsNCi0gIEVGSV9MRUdBQ1lfQklPU19QUk9UT0NPTCAgKkxlZ2FjeUJpb3M7 DQotDQotICBBU1NFUlQgKCFtQ2hlY2tEZXZpY2VDYWxsZWQpOw0KLQ0KLSAgU3RhdHVzID0gZ0JT LT5Mb2NhdGVQcm90b2NvbCAoDQotICAgICAgICAgICAgICAgICAgJmdFZmlMZWdhY3lCaW9zUHJv dG9jb2xHdWlkLA0KLSAgICAgICAgICAgICAgICAgIE5VTEwgLyogUmVnaXN0cmF0aW9uICovLA0K LSAgICAgICAgICAgICAgICAgIChWT0lEICoqKSZMZWdhY3lCaW9zDQotICAgICAgICAgICAgICAg ICAgKTsNCi0gIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCi0gICAgcmV0dXJuOw0KLSAgfQ0K LQ0KLSAgbUxlZ2FjeUJpb3NJbnN0YWxsZWQgPSBUUlVFOw0KLQ0KLSAgLy8NCi0gIC8vIENsb3Nl IHRoZSBldmVudCBhbmQgZGVyZWdpc3RlciB0aGlzIGNhbGxiYWNrLg0KLSAgLy8NCi0gIFN0YXR1 cyA9IGdCUy0+Q2xvc2VFdmVudCAoRXZlbnQpOw0KLSAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVz KTsNCi19DQotDQogLyoqDQogICBSZXR1cm5zIGEgbGlzdCBvZiBBQ1BJIHJlc291cmNlIGRlc2Ny aXB0b3JzIHRoYXQgZGV0YWlsIHRoZSBzcGVjaWFsIHJlc291cmNlDQogICBjb25maWd1cmF0aW9u IHJlcXVpcmVtZW50cyBmb3IgYW4gaW5jb21wYXRpYmxlIFBDSSBkZXZpY2UuDQpAQCAtMjI4LDcg KzE3OCw2IEBAIENoZWNrRGV2aWNlICgKICAgT1VUIFZPSUQgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAqKkNvbmZpZ3VyYXRpb24NCiAgICkNCiB7DQotICBtQ2hlY2tE ZXZpY2VDYWxsZWQgPSBUUlVFOw0KICAgVUlOVE4gIExlbmd0aDsNCiAgIFVJTlQ4ICAqUHRyOw0K IA0KQEAgLTI0MywxNyArMTkyLDggQEAgQ2hlY2tEZXZpY2UgKAogICAvLyBUaGUgY29uY2VybiBj YXB0dXJlZCBpbiB0aGUgUENJIEJ1cyBVRUZJX0RSSVZFUiBpcyB0aGF0IGEgbGVnYWN5IEJJT1Mg Ym9vdA0KICAgLy8gKHZpYSBhIENTTSkgY291bGQgZGlzcGF0Y2ggYSBsZWdhY3kgb3B0aW9uIFJP TSBvbiB0aGUgZGV2aWNlLCB3aGljaCBtaWdodA0KICAgLy8gaGF2ZSB0cm91YmxlIHdpdGggTU1J TyBCQVJzIHRoYXQgaGF2ZSBiZWVuIGFsbG9jYXRlZCBvdXRzaWRlIG9mIHRoZSAzMi1iaXQNCi0g IC8vIGFkZHJlc3Mgc3BhY2UuIEJ1dCwgaWYgd2UgZG9uJ3Qgc3VwcG9ydCBsZWdhY3kgb3B0aW9u IFJPTXMgYXQgYWxsLCB0aGVuDQotICAvLyB0aGlzIHByb2JsZW0gY2Fubm90IGFyaXNlLg0KLSAg Ly8NCi0gIGlmIChtTGVnYWN5Qmlvc0luc3RhbGxlZCkgew0KLSAgICAvLw0KLSAgICAvLyBEb24n dCBpbnRlcmZlcmUgd2l0aCByZXNvdXJjZSBkZWdyYWRhdGlvbi4NCi0gICAgLy8NCi0gICAgKkNv bmZpZ3VyYXRpb24gPSBOVUxMOw0KLSAgICByZXR1cm4gRUZJX1NVQ0NFU1M7DQotICB9DQotDQor ICAvLyBhZGRyZXNzIHNwYWNlLiBCdXQsIHdlIGRvbid0IHN1cHBvcnQgbGVnYWN5IG9wdGlvbiBS T01zIGF0IGFsbCwgdGh1cyB0aGlzDQorICAvLyBwcm9ibGVtIGNhbm5vdCBhcmlzZS4NCiAgIC8v DQogICAvLyBUaGlzIG1lbWJlciBmdW5jdGlvbiBpcyBtaXMtc3BlY2lmaWVkIGFjdHVhbGx5OiBp dCBpcyBzdXBwb3NlZCB0byBhbGxvY2F0ZQ0KICAgLy8gbWVtb3J5LCBidXQgYXMgc3BlY2lmaWVk LCBpdCBjb3VsZCBub3QgcmV0dXJuIGFuIGVycm9yIHN0YXR1cy4gVGhhbmtmdWxseSwNCkBAIC0z MTcsOCArMjU3LDYgQEAgRHJpdmVySW5pdGlhbGl6ZSAoCiAgICkNCiB7DQogICBFRklfU1RBVFVT ICBTdGF0dXM7DQotICBFRklfRVZFTlQgICBFdmVudDsNCi0gIFZPSUQgICAgICAgICpSZWdpc3Ry YXRpb247DQogDQogICAvLw0KICAgLy8gSWYgdGhlcmUgaXMgbm8gNjQtYml0IFBDSSBNTUlPIGFw ZXJ0dXJlLCB0aGVuIDY0LWJpdCBNTUlPIEJBUnMgaGF2ZSB0byBiZQ0KQEAgLTMyOCw2MyArMjY2 LDYgQEAgRHJpdmVySW5pdGlhbGl6ZSAoCiAgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCiAg IH0NCiANCi0gIC8vDQotICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIHByb3RvY29sIG5vdGlmeSB0 byBzZWUgaWYgYSBDU00gaXMgcHJlc2VudC4gKFdpdGggdGhlDQotICAvLyBDU00gYWJzZW50LCB0 aGUgUENJIEJ1cyBkcml2ZXIgd29uJ3QgaGF2ZSB0byB3b3JyeSBhYm91dCBhbGxvY2F0aW5nIDY0 LWJpdA0KLSAgLy8gTU1JTyBCQVJzIGluIHRoZSAzMi1iaXQgTU1JTyBhcGVydHVyZSwgZm9yIHRo ZSBzYWtlIG9mIGEgbGVnYWN5IEJJT1MuKQ0KLSAgLy8NCi0gIC8vIElmIHRoZSBMZWdhY3kgQklP UyBQcm90b2NvbCBpcyBwcmVzZW50IGF0IHRoZSB0aW1lIG9mIHRoaXMgZHJpdmVyIHN0YXJ0aW5n DQotICAvLyB1cCwgd2UgY2FuIG1hcmsgaW1tZWRpYXRlbHkgdGhhdCB0aGUgUENJIEJ1cyBkcml2 ZXIgc2hvdWxkIHBlcmZvcm0gdGhlDQotICAvLyB1c3VhbCA2NC1iaXQgTU1JTyBCQVIgZGVncmFk YXRpb24uDQotICAvLw0KLSAgLy8gT3RoZXJ3aXNlLCBpZiB0aGUgTGVnYWN5IEJJT1MgUHJvdG9j b2wgaXMgYWJzZW50IGF0IHN0YXJ0dXAsIGl0IG1heSBiZQ0KLSAgLy8gaW5zdGFsbGVkIGxhdGVy LiBIb3dldmVyLCBpZiBpdCBkb2Vzbid0IHNob3cgdXAgdW50aWwgdGhlIGZpcnN0DQotICAvLyBF RklfSU5DT01QQVRJQkxFX1BDSV9ERVZJQ0VfU1VQUE9SVF9QUk9UT0NPTC5DaGVja0RldmljZSgp IGNhbGwgZnJvbSB0aGUNCi0gIC8vIFBDSSBCdXMgZHJpdmVyLCB0aGVuIGl0IG5ldmVyIHdpbGw6 DQotICAvLw0KLSAgLy8gMS4gVGhlIGZvbGxvd2luZyBkcml2ZXJzIGFyZSBkaXNwYXRjaGVkIGlu IHNvbWUgdW5zcGVjaWZpZWQgb3JkZXI6DQotICAvLyAgICAtIFBDSSBIb3N0IEJyaWRnZSBEWEVf RFJJVkVSLA0KLSAgLy8gICAgLSBQQ0kgQnVzIFVFRklfRFJJVkVSLA0KLSAgLy8gICAgLSB0aGlz IERYRV9EUklWRVIsDQotICAvLyAgICAtIExlZ2FjeSBCSU9TIERYRV9EUklWRVIuDQotICAvLw0K LSAgLy8gMi4gVGhlIERYRV9DT1JFIGVudGVycyBCRFMuDQotICAvLw0KLSAgLy8gMy4gVGhlIHBs YXRmb3JtIEJEUyBjb25uZWN0cyB0aGUgUENJIFJvb3QgQnJpZGdlIElPIGluc3RhbmNlcyAocHJv ZHVjZWQgYnkNCi0gIC8vICAgIHRoZSBQQ0kgSG9zdCBCcmlkZ2UgRFhFX0RSSVZFUikuDQotICAv Lw0KLSAgLy8gNC4gVGhlIFBDSSBCdXMgVUVGSV9EUklWRVIgZW51bWVyYXRlcyByZXNvdXJjZXMg YW5kIGNhbGxzIGludG8gdGhpcw0KLSAgLy8gICAgRFhFX0RSSVZFUiAoQ2hlY2tEZXZpY2UoKSku DQotICAvLw0KLSAgLy8gNS4gVGhpcyBkcml2ZXIgcmVtZW1iZXJzIGlmIEVGSV9MRUdBQ1lfQklP U19QUk9UT0NPTCBoYXMgYmVlbiBpbnN0YWxsZWQNCi0gIC8vICAgIHNvbWV0aW1lIGR1cmluZyBz dGVwIDEgKHByb2R1Y2VkIGJ5IHRoZSBMZWdhY3kgQklPUyBEWEVfRFJJVkVSKS4NCi0gIC8vDQot ICAvLyBGb3IgYnJlYWtpbmcgdGhpcyBvcmRlciwgdGhlIExlZ2FjeSBCSU9TIERYRV9EUklWRVIg d291bGQgaGF2ZSB0byBpbnN0YWxsDQotICAvLyBpdHMgcHJvdG9jb2wgYWZ0ZXIgdGhlIGZpcm13 YXJlIGVudGVycyBCRFMsIHdoaWNoIGNhbm5vdCBoYXBwZW4uDQotICAvLw0KLSAgU3RhdHVzID0g Z0JTLT5DcmVhdGVFdmVudCAoDQotICAgICAgICAgICAgICAgICAgRVZUX05PVElGWV9TSUdOQUws DQotICAgICAgICAgICAgICAgICAgVFBMX0NBTExCQUNLLA0KLSAgICAgICAgICAgICAgICAgIExl Z2FjeUJpb3NJbnN0YWxsZWQsDQotICAgICAgICAgICAgICAgICAgTlVMTCAvKiBDb250ZXh0ICov LA0KLSAgICAgICAgICAgICAgICAgICZFdmVudA0KLSAgICAgICAgICAgICAgICAgICk7DQotICBp ZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQotICAgIHJldHVybiBTdGF0dXM7DQotICB9DQotDQot ICBTdGF0dXMgPSBnQlMtPlJlZ2lzdGVyUHJvdG9jb2xOb3RpZnkgKA0KLSAgICAgICAgICAgICAg ICAgICZnRWZpTGVnYWN5Qmlvc1Byb3RvY29sR3VpZCwNCi0gICAgICAgICAgICAgICAgICBFdmVu dCwNCi0gICAgICAgICAgICAgICAgICAmUmVnaXN0cmF0aW9uDQotICAgICAgICAgICAgICAgICAg KTsNCi0gIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCi0gICAgZ290byBDbG9zZUV2ZW50Ow0K LSAgfQ0KLQ0KLSAgU3RhdHVzID0gZ0JTLT5TaWduYWxFdmVudCAoRXZlbnQpOw0KLSAgQVNTRVJU X0VGSV9FUlJPUiAoU3RhdHVzKTsNCi0NCiAgIG1JbmNvbXBhdGlibGVQY2lEZXZpY2VTdXBwb3J0 LkNoZWNrRGV2aWNlID0gQ2hlY2tEZXZpY2U7DQogICBTdGF0dXMgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA9IGdCUy0+SW5zdGFsbE11bHRpcGxlUHJvdG9jb2xJbnRlcmZhY2Vz ICgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZJbWFnZUhhbmRsZSwNCkBAIC0zOTIsMTkgKzI3Myw1IEBAIERyaXZlckluaXRpYWxpemUgKAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbUlu Y29tcGF0aWJsZVBjaURldmljZVN1cHBvcnQsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KLSAgaWYgKEVGSV9FUlJPUiAoU3RhdHVz KSkgew0KLSAgICBnb3RvIENsb3NlRXZlbnQ7DQotICB9DQotDQotICByZXR1cm4gRUZJX1NVQ0NF U1M7DQotDQotQ2xvc2VFdmVudDoNCi0gIGlmICghbUxlZ2FjeUJpb3NJbnN0YWxsZWQpIHsNCi0g ICAgRUZJX1NUQVRVUyAgQ2xvc2VTdGF0dXM7DQotDQotICAgIENsb3NlU3RhdHVzID0gZ0JTLT5D bG9zZUV2ZW50IChFdmVudCk7DQotICAgIEFTU0VSVF9FRklfRVJST1IgKENsb3NlU3RhdHVzKTsN Ci0gIH0NCi0NCiAgIHJldHVybiBTdGF0dXM7DQogfQ0KCg0KCi09LT0tPS09LT0tPS09LT0tPS09 LT0tCkdyb3Vwcy5pbyBMaW5rczogWW91IHJlY2VpdmUgYWxsIG1lc3NhZ2VzIHNlbnQgdG8gdGhp cyBncm91cC4KVmlldy9SZXBseSBPbmxpbmUgKCMxMTEwODQpOiBodHRwczovL2VkazIuZ3JvdXBz LmlvL2cvZGV2ZWwvbWVzc2FnZS8xMTEwODQKTXV0ZSBUaGlzIFRvcGljOiBodHRwczovL2dyb3Vw cy5pby9tdC8xMDI1MTg2NTEvNzY4NjE3NgpHcm91cCBPd25lcjogZGV2ZWwrb3duZXJAZWRrMi5n cm91cHMuaW8KVW5zdWJzY3JpYmU6IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9sZWF2 ZS8xMjM2NzExMS83Njg2MTc2LzE5MTM0NTYyMTIveHl6enkgW3JlYmVjY2FAb3BlbmZ3LmlvXQot PS09LT0tPS09LT0tPS09LT0tPS09LQoKDQo=